Support dynamic loading of libjansson on MS-Windows
[emacs.git] / ChangeLog.3
blob46d98d80262aa7d88b87313efd40808b39cb65c6
1 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
3         Format shell commands in tramp.texi
5         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
6         Format shell commands better.
8 2017-10-10  João Távora  <joaotavora@gmail.com>
10         Unbreak the button in the Flymake diagnostics buffer again
12         Adding the 'keymap' property enabled RET but broke the mouse-action.
14         * lisp/progmodes/flymake.el
15         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
17 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
19         Add mode map to Flymake diagnostic button
21         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
22         keymap propery.
24 2017-10-10  João Távora  <joaotavora@gmail.com>
26         Tweak the Flymake diagnostics buffer again
28         * lisp/progmodes/flymake.el
29         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
30         (flymake-show-diagnostic): Rename from
31         flymake-show-diagnostic-at-point.  Really use another window.
32         (flymake-goto-diagnostic): Rename from
33         flymake-goto-diagnostic-at-point.
34         (flymake--diagnostics-buffer-entries): Use a button just for
35         the message bit.
37 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
39         Simplify Flymake diagnostics buffer UX
41         Don't create text-buttons unnecessarily, just bind RET and SPC in the
42         diagnostics buffer to a command that figures out which diagnostic it
43         was invoked on.
45         * lisp/progmodes/flymake.el
46         (flymake--diagnostics-buffer-mode-keymap): Renamed from
47         flymake--diagnostics-buffer-button-keymap.
48         (flymake-show-diagnostic-at-point): Don't take a button.
49         (flymake-goto-diagnostic-at-point): Don't pass button to
50         flymake-show-diagnostic-at-point.
51         (flymake--diagnostics-buffer-entries): Simplify.
53 2017-10-10  João Távora  <joaotavora@gmail.com>
55         First stab at a Flymake diagnostics buffer
57         The diagnostics buffer summarizes the diagnostics of a buffer in a
58         tabulated list and is permanently updated after each Flymake check.
60         * lisp/progmodes/flymake.el (flymake--handle-report): Call
61         flymake-show-diagnostics-buffer under certain conditions.
62         (flymake-menu, flymake--diagnostics-buffer-source)
63         (flymake--diagnostics-buffer-button-keymap)
64         (flymake-show-diagnostic-at-point)
65         (flymake-goto-diagnostic-at-point)
66         (flymake--diagnostics-buffer-entries)
67         (flymake-diagnostics-buffer-mode)
68         (flymake--diagnostics-buffer-name)
69         (flymake-show-diagnostics-buffer): New definitions.
71 2017-10-10  João Távora  <joaotavora@gmail.com>
73         * etc/NEWS (Flymake): Rewrite entry.
75 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
77         Improve the Flymake manual
79         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
80         @syncodeindex directive for @vindex.  Use 2 spaces between
81         sentences.  Lower-case @cindex entries.
82         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
83         punctuation and markup.
84         (Backend exceptions): Use @emph instead of @dfn.  Add more
85         indexing.
86         (Customizable variables, Extending Flymake): Improve wording.
87         (Flymake error types): Fix usage of @itemize.  Improve wording.
88         (Backend functions): Fix punctuation.  Fix markup.  Add a
89         cross-reference to ELisp manual.
90         (Flymake utility functions): Add a cross-reference to ELisp manual.
91         (An annotated example backend): Fix punctuation and typos.
92         (Flymake mode, Running the syntax check)
93         (Navigating to error lines, Backend exceptions)
94         (Customizable variables, Flymake error types, Backend functions)
95         (Flymake utility functions, Proc customization variables)
96         (Locating a master file, Locating the buildfile)
97         (Starting the syntax check process, Parsing the output)
98         (Interaction with other modes): Fix indexing.  Add index entries
99         for functions, variables, and concepts.
101 2017-10-10  João Távora  <joaotavora@gmail.com>
103         Fix two Flymake bugs
105         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
106         against --without-x.
107         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
108         in their own windows.
110 2017-10-10  João Távora  <joaotavora@gmail.com>
112         Don't log "emergencies" in the Flymake legacy backend
114         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
115         (flymake-proc-legacy-flymake): Don't log "emergencies"
117 2017-10-10  João Távora  <joaotavora@gmail.com>
119         Add full documentation on new Flymake API
121         Also, as a minor addition to this API, set flymake-text
122         on the diagnostic overlay.  This enables a good example in
123         the section "Customization Flymake annotations".
125         * doc/misc/flymake.texi (Overview of Flymake)
126         (Syntax check statuses): Rework.
127         (Backend exceptions): Rename from "Troubleshooting"
128         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
129         (Extending Flymake): Write chapter.
130         (Customizing Flymake annotations, Flymake backends)
131         (Flymake utility functions, An annotated example backend):
132         New sections and subsections
134         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
135         (flymake-diagnostic-types-alist): Rework docstring.
136         (flymake--highlight-line): Set and use flymake-text property in overlay.
137         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
139 2017-10-10  João Távora  <joaotavora@gmail.com>
141         Fix some Flymake docstrings and messages
143         * lisp/progmodes/flymake.el
144         (flymake-start-on-flymake-mode): fix typo.
145         (flymake-mode): Add docstring.
146         (flymake-mode-line-format): Fix help-echo indications. mouse-2
147         describes flymake-mode.
149 2017-10-10  João Távora  <joaotavora@gmail.com>
151         Make three new Flymake commands for debugging common problems
153         * lisp/progmodes/flymake.el (flymake-running-backends)
154         (flymake-disabled-backends)
155         (flymake-reporting-backends): Make interactive.
156         (flymake--collect): Take optional arg.
158 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
160         * admin/authors.el (authors-renamed-files-alist): addition.
162 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
164         Fix PWD check on DOS_NT
166         * src/sysdep.c (get_current_dir_name_or_unreachable):
167         Do not consider a file name like "a:b" to be absolute on DOS_NT.
169 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
171         Fix unlikely overflows with wd length
173         * src/sysdep.c (get_current_dir_name_or_unreachable):
174         Avoid integer overflow if working directory name is absurdly long.
175         When allocating memory for getcwd, do not exceed MAXPATHLEN.
177 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
179         * lisp/gnus/message.el: Improve last commit
181         (message-clone-locals): Don't mistakenly match other variables whose
182         name happens to include "message-default-charset".
184 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
186         Fix problems when editing raw undecoded message (Bug#28671)
188         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
189         is set, meaning that we are editing the raw message, do not
190         encode it again.  Delete old body after, not before, inserting
191         new, to avoid moving marker at beginning of next message.
193 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
195         Avoid encoding errors in message.el
197         * lisp/gnus/message.el (message-clone-locals): Don't clone
198         message-default-charset.  (Bug#25645)
200 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
202         Improve doc string and prompt of 'grep-read-files'
204         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
205         string and in the prompt that shell wildcards can be used.
206         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
208 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
210         Avoid assertion violations when line numbers are displayed
212         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
213         matrix before calling try_window with the same starting point.
214         This avoids assertion violations when switching from a buffer
215         without line numbers to a buffer with line numbers.  (Bug28710)
217 2017-10-09  João Távora  <joaotavora@gmail.com>
219         Be lazy when starting Flymake checks
221         Don't start the check immediately if the buffer is not being
222         displayed.  Wait until it is, using window-configuration-change-hook.
224         This enables the user to batch-enable flymake-mode on many buffers and
225         not have that operation exhaust system resources for checking each
226         one.  Likewise, an editing or save operation in a currently
227         non-displayed buffer does not immediately start a check.
229         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
230         Rename from flymake-start-syntax-check-on-find-file.
231         (flymake-start-syntax-check-on-find-file): Obsolete alias for
232         flymake-start-on-flymake-mode.
233         (flymake-start): Redesign.  Affect the global post-command-hook
234         and local window-configuraiton-change-hook.
235         (flymake--schedule-timer-maybe)
236         (flymake-after-change-function, flymake-after-save-hook): Pass
237         t to flymake-start.
239         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
240         (dummy-backends, recurrent-backend): Start flymake check
241         explicitly and immediately.
243 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
245         Fix last change in frameset.el
247         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
248         filtering the 'font' parameter.  (Bug#17352)
250 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
252         Describe how window dividers can replicate vertical borders (Bug#27830)
254         * doc/emacs/frames.texi (Scroll Bars): Describe how window
255         dividers can be used to replicate vertical borders when scroll
256         bars are disabled (Bug#27830).
257         * doc/emacs/frames.texi (Window Dividers): Mention their use
258         in replicating vertical borders.
260 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
262         Add line-number faces to the display-line-numbers group
264         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
265         and its resulting thread.
267         * lisp/display-line-numbers.el (display-line-numbers): Add to the
268         convenience group.
269         * lisp/faces.el (line-number):
270         (line-number-current-line): Add to the display-line-numbers group.
272 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
274         Increase xterm click count only within double-click-fuzz
276         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
277         and check it against the current click's position.  (Bug#28658)
279 2017-10-08  Alan Third  <alan@idiocy.org>
281         Change pause in fullscreen toggling for NS port (bug#28496)
283         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
284         sleep-for, and reduce time.
286 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
288         Handle PARENTS properly in tramp-*-handle-make-directory
290         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
291         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
292         Handle PARENTS properly.
294         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
295         Extend test.
297 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
299         Improve test for unreachable dirs
301         * src/sysdep.c (get_current_dir_name_or_unreachable):
302         New function, with most of the old contents of
303         emacs_get_current_dir_name.
304         (emacs_get_current_dir_name): Use it.  Use a simpler
305         test for unreachable directory strings, and also apply
306         it to getcwd etc. (Bug#27871)
308 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
310         * src/xsmfns.c (x_session_initialize): Fix memory leak.
312 2017-10-08  K. Handa  <handa@gnu.org>
314         New option for handling ZWNJ in Arabic text rendering
316         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
317         to display ZWNJ in Arabic text rendering (Bug#28339).
318         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
319         composition-function-table.
320         (arabic-shaper-ZWNJ-handling): New variable.
321         (arabic-shape-log): New variable.
322         (arabic-shape-gstring): New function.
323         * lisp/composite.el (lgstring-remove-glyph): New function.
325 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
327         Make python prettify symbols into a defvar (Bug#28713)
329         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
330         variable.
331         (python--prettify-symbols-alist): Make into obsolete alias for
332         `python-prettify-symbols-alist'.
334 2017-10-07  Alan Third  <alan@idiocy.org>
336         Fix fullscreen crash on macOS (bug#28496)
338         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
339         complete on macOS.
341 2017-10-07  Alan Third  <alan@idiocy.org>
343         Fix crash when closing fullscreen frame on macOS (bug#28661)
345         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
346         unmodified if the frame isn't live.
348 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
350         Support gio tool in Tramp
352         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
353         must use "gio <command>" tool instead.
355         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
356         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
357         (tramp-gvfs-gio-tool-p): New defun.
358         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
360 2017-10-07  João Távora  <joaotavora@gmail.com>
362         Fix flymake-goto-next-error when message has %-constructs
364         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
365         message call.  Add missing period in docstring.
367 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
369         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
371 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
373         Move the entry about 'format' into Incompatible Lisp Changes
375         * etc/NEWS: Move the entry about 'format' refraining from allocating
376         new strings into Incompatible Lisp Changes.  (Bug#28625)
378 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
380         Fix glitches in displaying TTY menus
382         * src/dispnew.c (update_frame_line): Accept an additional argument
383         UPDATING_MENU_P; if non-zero, home the cursor before updating a
384         frame's line.  All callers changed.
385         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
386         and pass it to update_frame_line.  All callers changed.
387         (update_frame_with_menu): Call update_frame_1 with last argument
388         non-zero.  (Bug#17497)
390 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
392         Create new Edebug spec for docstrings and use it in closures
394         Since (:documentation FORM) can be used to create a docstring
395         when lexical-binding is on, allow for that possibility in Edebug
396         specs (bug#24773).
397         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
398         called lambda-doc and modify the Edebug specs for defun and
399         defmacro to use it.
400         (edebug-instrument-function): Check for generic functions first,
401         to fix bug where edebug-step-in didn't work on methods now that
402         cl-defgeneric has an Edebug spec.
403         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
404         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
405         (bug#27747).
406         (cl-defmethod): Use lambda-doc in Edebug spec.
407         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
408         cl-declarations-or-string to use lambda-doc, and modify Edebug
409         spec for cl-lambda-expr to use cl-declarations-or-string.
410         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
411         use lambda-doc, as well as &define and def-body which are
412         necessary for using Edebug on code wrapped by lambda.
413         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
414         Edebug specs.
416 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
418         Avoid byte-compilation warnings in message.el
420         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
421         avoid compiler warnings.
423 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
425         Fix bug in recent styled_format change
427         Problem reported by Kaushal Modi in:
428         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
429         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
430         not always followed by SAFE_FREE.  This bug was introduced in my
431         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
432         unnecessary copying in Fformat etc."
434 2017-10-06  João Távora  <joaotavora@gmail.com>
436         Cleanup emacs-lisp-mode's use of Flymake
438         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
439         Delete.
440         (elisp-flymake-checkdoc): Incorporate old
441         elisp-flymake--checkdoc-1.
442         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
443         here.
444         (elisp-flymake-byte-compile): Remove spurious interactive spec.
445         Simplify.  Cleanup on every possible exit.
447 2017-10-06  João Távora  <joaotavora@gmail.com>
449         Fix @include directive in Flymake doc
451         * doc/misc/flymake.texi: Don't @include a relative path.
453 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
455         Move read-multiple-choice to its own library
457         * lisp/emacs-lisp/rmc.el: New file.
458         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
459         * lisp/gnus/message.el:
460         * lisp/net/nsm.el: Change required library.
462 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
464         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
466         Fixes: Bug#28721
468 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
470         Fix typos in Flymake documentation
472         * doc/misc/flymake.texi (Syntax check statuses)
473         (Adding support for a new syntax check tool)
474         (Implementation overview, Locating the buildfile): Fix typos.
476         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
477         (flymake-proc--find-possible-master-files):Fix typos.
478         (flymake-proc--panic)
479         (flymake-proc-legacy-flymake): Fix function reference in doc.
481         * lisp/progmodes/flymake.el (flymake-error)
482         (flymake-diagnostic-functions): Fix typos.
483         (flymake-diagnostic-types-alist): Rephrase and fix typos.
484         (flymake--backend-state): Fix typos and rephrase.
485         (flymake--handle-report): Delete empty line.
486         (flymake--disable-backend)
487         (flymake--run-backend): Fix typos.
488         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
490 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
492         Revert last change in 'shr-descend'
494         * lisp/net/shr.el (shr-descend): Revert the part of the last
495         change which introduced calls to shr-indirect-call into this
496         function.  Add a comment explaining the rationale for that.
497         (Bug#28402)
499 2017-10-06  João Távora  <joaotavora@gmail.com>
501         Don't error when turning on Flymake with no known backends
503         Leave it to the mode line indicator to inform the user that there
504         is still some configuration to do.
506         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
508 2017-10-06  João Távora  <joaotavora@gmail.com>
510         Delete a Flymake obsolete alias that can't possibly work
512         The function `flymake-ler-make-ler' can't possibly work as an backward
513         compatible interface to existing extensinos (even purely hypothetical
514         ones, since none are known).  This is because every diagnostic
515         considered by Flymake has to passed to a report-fn function.
517         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
519 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
521         Fix bug with unmounted directory on GNU/Linux
523         * src/sysdep.c (emacs_get_current_dir_name): Do not use
524         get_current_dir_name result unless it is absolute (Bug#27871).
527 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
529         Update authors.el
531         * admin/authors.el (authors-renamed-files-alist)
532         (authors-valid-file-names): Additions.
534 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
536         Fix dynamic binding wrapper in iter-lambda (bug#25965)
538         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
539         Remove extra evaluation of form.
540         * test/lisp/emacs-lisp/generator-tests.el
541         (cps-iter-lambda-with-dynamic-binding): New test.
543 2017-10-05  Rasmus  <rasmus@gmx.us>
545         Update Org to v9.1.2
547         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
549 2017-10-05  Alan Mackenzie  <acm@muc.de>
551         Fix irregularities with CC Mode fontification, particularly with "known types"
553         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
554         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
555         type.
556         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
557         have a construct like the above.  Pass this as argument to
558         c-font-lock-declarators.
559         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
560         being processed starts before the function's starting position.
561         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
562         preceded by, e.g., "struct"".
564         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
565         (c-template-typename-key): New lang defconsts and defvar.
567 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
569         Fix breakage due to recent change in tabulated-list-print-entry
571         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
572         Update the doc string.
573         (tabulated-list-print-entry): Revert to using only 2 arguments.
574         Update the doc string.
575         (tabulated-list-entry-lnum-width): New defvar.
576         (tabulated-list-print): Compute the width of line-number display
577         once, then store that value in tabulated-list-entry-lnum-width,
578         for tabulated-list-printer to use.  (Bug#28704)
580 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
582         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
584 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
586         Set xterm click count to 1 even with no last click
588         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
589         the last click so that click-count is initialized properly.
590         Handle the value of t for double-click-time.
591         (Bug#28658)
593 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
595         Support indirection for all shr-tag-* calls
597         The 'shr-external-rendering-functions' variable was previously only
598         honored in the shr-descend function, now all direct calls to the
599         shr-tag-* functions have been replaced by a call to
600         'shr-indirect-call' which tries using an alternative rendering
601         function first.
603         * lisp/net/shr.el (shr-indirect-call): New helper function.
604         (shr-descend, shr-tag-object, shr-tag-video):
605         (shr-collect-extra-strings-in-table): Fix callers to call via
606         shr-indirect-call.  (Bug#28402)
608 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
610         Speed up list-packages when 'visual' line numbers are displayed
612         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
613         Update the doc string.
614         (tabulated-list-print-entry): Accept an additional optional
615         argument INDENT.  Update the doc string.
616         (tabulated-list-print): Compute the width of line-number display
617         once, then call tabulated-list-printer with that value as 3rd
618         argument.  (Bug#28704)
620 2017-10-05  João Távora  <joaotavora@gmail.com>
622         Misc. minor adjustments to Flymake
624         - Add a half-decent minor-mode menu;
625         - Fix "waiting for backends" mode line message;
626         - Adjust the flymake-diag-region API;
627         - Autoload the flymake-log macro;
628         - Auto-disable the legacy backend in more situations;
629         - Fix a couple of warnings in legacy backend.
631         * lisp/progmodes/flymake-proc.el
632         (flymake-proc--diagnostics-for-pattern): Use new
633         flymake-diag-region.
635         * lisp/progmodes/flymake-proc.el
636         (flymake-proc-legacy-flymake): Do error when no
637         buffer-file-name or not writable.
638         (flymake-proc-legacy-flymake)
639         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
641         * lisp/progmodes/flymake.el (flymake-diag-region):
642         Autoload.  Take buffer as first argument.
644         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
645         New command.
646         (flymake-menu): Add a simple menu.
647         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
648         log buffer when clicking exceptional warnings.
650 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
652         Fix search for ~/.Xdefaults-HOSTNAME
654         * src/xrdb.c (get_environ_db): Fix typo when handling
655         ~/.Xdefaults-HOSTNAME (Bug#28708).
657 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
659         Speed up (format "%s" STRING) and the like
661         Although the Lisp manual said that ‘format’ returns a
662         newly-allocated string, this was not true for a few cases like
663         (format "%s" ""), and fixing the documentation to allow reuse of
664         arguments lets us improve performance in common cases like
665         (format "foo") and (format "%s" "foo") (Bug#28625).
666         * doc/lispref/strings.texi (Formatting Strings):
667         * etc/NEWS:
668         Say that the result of ‘format’ might not be newly allocated.
669         * src/callint.c (Fcall_interactively):
670         * src/dbusbind.c (XD_OBJECT_TO_STRING):
671         * src/editfns.c (Fmessage, Fmessage_box):
672         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
673         Just use Fformat or Fformat_message, as that’s simpler and no
674         longer makes unnecessary copies.
675         * src/editfns.c (styled_format): Remove last argument, as it
676         is no longer needed: all callers now want it to behave as if it
677         were true.  All remaining callers changed.  Make this function
678         static again.  Simplify the function now that we no longer
679         need to worry about whether the optimization is allowed.
681 2017-10-04  Alan Mackenzie  <acm@muc.de>
683         Fontify untyped function declarations in C Mode correctly.
685         Also correct two bugs where deleting WS at a BOL could leave an untyped
686         function declaration unfontified.
688         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
689         "top-level" when we're in a macro.
690         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
691         Mode as a implicitly typed function declaration.
692         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
693         macro.  It's not a function plus arglist.
695         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
696         defvar.
698         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
699         over any following parenthesis expression (i.e. parameter list).
700         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
701         the returned region, to cope with deletions at column 0.
703 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
705         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
707         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
709 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
711         Avoid crashes on C-g when several threads wait for input
713         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
714         (getcjmp): Define to current thread's 'm_getcjmp'.
715         * src/thread.c (maybe_reacquire_global_lock): Switch to main
716         thread, since this is called from a SIGINT handler, which always
717         runs in the context of the main thread.
718         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
719         definitions before thread.h is included, as thread.h now uses
720         sys_jmp_buf.
721         * src/keyboard.c (getcjmp): Remove declaration.
722         (read_char): Don't call maybe_reacquire_global_lock here.
723         (handle_interrupt): Call maybe_reacquire_global_lock here, if
724         invoked from the SIGINT handler, to make sure
725         quit_throw_to_read_char runs with main thread's Lisp bindings and
726         uses the main thread's jmp_buf buffer.  (Bug#28630)
728 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
730         Warn if --without-pop is now the default
732         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
733         Warn about the change if defaulting to "no".  Update URLs.
735 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
737         --with-pop is now the default only on MS-Windows
739         Problem reported by N. Jackson (Bug#28597).
740         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
741         * INSTALL, configure.ac, etc/NEWS:
742         Make --with-pop the default only on native MS-Windows.
744 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
746         Add support for `file-system-info' in Tramp
748         * lisp/net/tramp.el (tramp-file-name-for-operation):
749         Add `file-system-info'.
751         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
752         (tramp-adb-file-name-handler-alist): Use it.
754         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
755         (tramp-gvfs-file-system-attributes-regexp): New defconst.
756         (tramp-gvfs-handle-file-system-info): New defun.
757         (tramp-gvfs-file-name-handler-alist): Use it.
758         (tramp-gvfs-get-directory-attributes): Fix property name.
759         (tramp-gvfs-get-root-attributes): Support also file system attributes.
761         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
762         (tramp-sh-file-name-handler-alist): Use it.
763         (tramp-sh-handle-insert-directory): Insert size information.
764         (tramp-get-remote-df): New defun.
766         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
767         (tramp-smb-file-name-handler-alist): Use it.
768         (tramp-smb-handle-insert-directory): Insert size information.
770         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
771         New test.
772         (tramp-test38-asynchronous-requests)
773         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
774         (tramp-test41-unload): Rename.
776 2017-10-03  João Távora  <joaotavora@gmail.com>
778         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
780 2017-10-03  João Távora  <joaotavora@gmail.com>
782         Start rewriting Flymake manual
784         Missing the parts pertaining to the new customization API.
786         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
787         (Installing Flymake): Delete most of this.
788         (Running the syntax check): Mention flymake-start.
789         (Navigating to error lines): Rewrite.
790         (Viewing error messages): Commente out.
791         (Syntax check statuses, Troubleshooting): Rewrite a bit.
792         (Customizable variables): New section under "Using
793         Flymake".  Don't mention any proc variables here.
794         (Configuring Flymake): Delete
795         (Proc backend): New chapter
796         (Proc customization variables): New chapter.
798         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
799         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
800         (Running the syntax check): Simplify.
801         (Viewing error messages): Dekete,
802         (Syntax check statuses): Rewrite.
803         (Troubleshooting): Simplify.
804         (Customizable variables): Rewrite.
805         (Extending Flymake): New chapter, empty for now.
806         (The legacy Proc backend): New chapter.
807         (Proc customizable variables)
808         (Adding support for a new syntax check tool)
809         (Implementation overview)
810         (Making a temporary copy)
811         (Locating a master file)
812         (Getting the include directories)
813         (Locating the buildfile)
814         (Starting the syntax check process)
815         (Parsing the output)
816         (Interaction with other modes)
817         (Example---Configuring a tool called via make)
818         (Example---Configuring a tool called directly): Rewrite a bit.
820 2017-10-03  João Távora  <joaotavora@gmail.com>
822         Minimal tweak as an attempt to future-proof Flymake API
824         Discussed with Stefan that this should allow Flymake to request more
825         from backends in the future, while also allowing backends to report
826         more accurately.
828         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
829         (elisp-flymake-byte-compile): Adjust to new API.
831         * lisp/progmodes/flymake-proc.el ()
832         (flymake-proc-legacy-flymake): Adjust to new API.
834         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
835         Review API again.
836         (flymake--handle-report): Allow other keys.  Change ACTION to
837         REPORT-ACTION.
839 2017-10-03  João Távora  <joaotavora@gmail.com>
841         Integrate Flymake elisp checkers into elisp-mode.el directly
843         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
844         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
845         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
846         (elisp-flymake--byte-compile-done)
847         (elisp-flymake--byte-compile-process)
848         (elisp-flymake-byte-compile): Rename from flymake-elisp
849         counterparts in deleted flymake-elisp.el
850         (elisp-flymake--batch-compile-for-flymake): New helper.
851         (checkdoc-create-error-function)
852         (checkdoc-autofix-flag)
853         (checkdoc-generate-compile-warnings-flag)
854         (checkdoc-diagnostic-buffer): Forward declare.
856         * lisp/progmodes/flymake-elisp.el: Delete.
858 2017-10-03  João Távora  <joaotavora@gmail.com>
860         Hook Flymake onto proper checkdoc and byte-compile interfaces
862         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
863         with little knowledge of actual internals or thought given to the
864         usefulness of said interfaces in contexts other than Flymake's.
866         * lisp/emacs-lisp/bytecomp.el
867         (byte-compile-log-warning-function): New variable.
868         (byte-compile-log-warning): Use it.
869         (byte-compile--log-warning-for-byte-compile): New function.
871         * lisp/emacs-lisp/checkdoc.el
872         (checkdoc-create-error-function): New variable.
873         (checkdoc-create-error): Use it.
874         (checkdoc--create-error-for-checkdoc): New function.xo
876         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
877         Use checkdoc-create-error-function.
878         (flymake-elisp--batch-byte-compile): Use
879         byte-compile-log-warning-function.
881 2017-10-03  João Távora  <joaotavora@gmail.com>
883         Tweak Flymake autoloads and dependencies
885         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
886         flymake-diagnostic-functions here.
888         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
889         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
890         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
891         Autoload.  (flymake-elisp-setup-backends): Remove.
893         * lisp/progmodes/flymake.el: Add some top-level comments.
894         (flymake-make-diagnostic)
895         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
897         Where to fixup this shit?
899 2017-10-03  João Távora  <joaotavora@gmail.com>
901         Capitalize "Flymake" in docstrings and comments
903         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
904         (flymake-elisp-setup-backends): Capitalize "Flymake"
906         * lisp/progmodes/flymake-proc.el:
907         (flymake-proc-reformat-err-line-patterns-from-compile-el)
908         (flymake-proc--panic, flymake-proc-legacy-flymake)
909         (flymake-start-syntax-check, flymake-proc-compile)
910         (define-obsolete-variable-alias): Capitalize "Flymake"
912         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
913         (flymake-make-diagnostic, flymake-delete-own-overlays)
914         (flymake-diagnostic-functions)
915         (flymake-diagnostic-types-alist, flymake-is-running)
916         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
917         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
919 2017-10-03  João Távora  <joaotavora@gmail.com>
921         Flymake backends can report multiple times per check
923         Rewrote a significant part of the Flymake backend API.  Flymake now
924         ignores the return value of backend functions: a function can either
925         returns or errors.  If it doesn't error, a backend is no longer
926         constrained to call REPORT-FN exactly once.  It may do so any number
927         of times, cumulatively reporting diagnostics.  Flymake keeps track of
928         outdated REPORT-FN instances and disconsiders obsolete reports.
929         Backends should avoid reporting obsolete data by canceling any
930         ongoing processing at every renewed call to the backend function.
932         Consolidated flymake.el internal data structures to require less
933         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
934         new semantics.
936         Adapted and simplified the implementation of elisp and legacy
937         backends, fixing potential race conditions when calling backends in
938         rapid succession.
940         Added a new test for a backend that calls REPORT-FN multiple
941         times.  Simplify test infrastructure.
943         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
944         (flymake-elisp-byte-compile): Error instead of returning nil
945         if not in emacs-lisp-mode.
946         (flymake-elisp--byte-compile-process): New buffer-local variable.
947         (flymake-elisp-byte-compile): Mark (and kill) previous process
948         obsolete process before starting a new one.  Don't report if
949         obsolete process.
951         * lisp/progmodes/flymake-proc.el
952         (flymake-proc--current-process): New buffer-local variable.
953         (flymake-proc--processes): Remove.
954         (flymake-proc--process-filter): Don't bind
955         flymake-proc--report-fn.
956         (flymake-proc--process-sentinel): Rewrite.  Don't report if
957         obsolete process.
958         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
959         previous process obsolete process before starting a new
960         one.  Integrate flymake-proc--start-syntax-check-process
961         helper.
962         (flymake-proc--start-syntax-check-process): Delete.
963         (flymake-proc-stop-all-syntax-checks): Don't use
964         flymake-proc--processes, iterate buffers.
965         (flymake-proc-compile):
967         * lisp/progmodes/flymake.el (subr-x): Require it
968         explicitly.
969         (flymake-diagnostic-functions): Reword docstring.
970         (flymake--running-backends, flymake--disabled-backends)
971         (flymake--diagnostics-table): Delete.
972         (flymake--backend-state): New buffer-local variable and new defstruct.
973         (flymake--with-backend-state, flymake--collect)
974         (flymake-running-backends, flymake-disabled-backends)
975         (flymake-reporting-backends): New helpers.
976         (flymake-is-running): Use flymake-running-backends.
977         (flymake--handle-report): Rewrite.
978         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
979         buffer or not at all.
980         (flymake--disable-backend, flymake--run-backend): Rewrite.
981         (flymake-start): Rewrite.
982         (flymake-mode): Set flymake--backend-state.
983         (flymake--mode-line-format): Rewrite.
985         * test/lisp/progmodes/flymake-tests.el
986         (flymake-tests--wait-for-backends): New helper.
987         (flymake-tests--call-with-fixture): Use it.
988         (included-c-header-files): Fix whitespace.
989         (flymake-tests--diagnose-words): New helper.
990         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
991         (flymake-tests--assert-set): Use quote.
992         (recurrent-backend): New test.
994 2017-10-03  João Távora  <joaotavora@gmail.com>
996         Flymake uses proper idle timers
998         Also, flymake-no-changes-timeout can be set to nil to disable
999         automatic periodic checks.  But even in that situation the idle timer
1000         still runs at a reduced rate to detect changes in the variable and
1001         revert that decision.
1003         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
1004         (flymake-last-change-time): Delete.
1005         (flymake--schedule-timer-maybe): New helper.
1006         (flymake-after-change-function): Use it.
1007         (flymake-on-timer-event): Delete
1008         (flymake-mode): Don't scheduler timer.
1010 2017-10-03  João Távora  <joaotavora@gmail.com>
1012         Flymake variable flymake-diagnostic-functions now a special hook
1014         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
1015         flymake-diagnostic-functions.
1017         * lisp/progmodes/flymake-elisp.el
1018         (flymake-elisp-setup-backends): Use add-hook.
1020         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
1021         Revise docstring.
1022         (flymake-start): Use run-hook-wrapped.
1024 2017-10-03  João Távora  <joaotavora@gmail.com>
1026         Batch of minor Flymake cleanup actions agreed to with Stefan
1028         Discussed with Stefan, in no particular order
1030         - Remove aliases for symbols thought to be internal to flymake-proc.el
1031         - Don’t need :group in defcustom and defface in flymake.el
1032         - Fix docstring of flymake-make-diagnostic
1033         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
1034         - Mark overlays with just the property ’flymake, not ’flymake-overlay
1035         - Tune flymake-overlays for performance
1036         - Make flymake-mode-on and flymake-mode-off obsolete
1037         - Don’t use hash-table-keys unless necessary.
1038         - Copyright notice in flymake-elisp.
1040         Added some more
1042         - Clarify docstring of flymake-goto-next-error
1043         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
1044         - Prevent compilation warnings in flymake-proc.el
1045         - Remove doctring from obsolete aliases
1047         Now the changelog:
1049         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
1051         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
1052         (flymake-proc-diagnostic-type-pred)
1053         (flymake-proc-default-guess)
1054         (flymake-proc--get-file-name-mode-and-masks): Move up to
1055         beginning of file to shoosh compiler warnings
1056         (define-obsolete-variable-alias): Delete many obsolete aliases.
1058         * lisp/progmodes/flymake.el (flymake-error-bitmap)
1059         (flymake-warning-bitmap, flymake-note-bitmap)
1060         (flymake-fringe-indicator-position)
1061         (flymake-start-syntax-check-on-newline)
1062         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
1063         (flymake-start-syntax-check-on-find-file, flymake-log-level)
1064         (flymake-wrap-around, flymake-error, flymake-warning)
1065         (flymake-note): Don't need :group in these defcustom and defface.
1066         (flymake--run-backend): Clarify comment
1067         (flymake-mode-map): Remove.
1068         (flymake-make-diagnostic): Fix docstring.
1069         (flymake--highlight-line, flymake--overlays): Identify flymake
1070         overlays with just ’flymake.
1071         (flymake--overlays): Reverse order of invocation for
1072         cl-remove-if-not and cl-sort.
1073         (flymake-mode-on)
1074         (flymake-mode-off): Make obsolete.
1075         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
1076         (flymake-diagnostic-functions): Clarify keyword arguments in
1077         docstring.
1079         Maybe squash in that one where I remove many obsoletes
1081 2017-10-03  João Távora  <joaotavora@gmail.com>
1083         Explicitly add a(n empty) keymap for Flymake
1085         Too early to decide what will be in it, if anything.  Though "M-n" and
1086         "M-p" would be great.
1088         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
1090 2017-10-03  João Távora  <joaotavora@gmail.com>
1092         Flymake uses some new fringe bitmaps
1094         Also fix behaviour whereby flymake wouldn't react to a change in the
1095         variable.
1097         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
1098         (flymake-warning-bitmap): Update bitmaps.
1099         (flymake-note-bitmap): New defcustom.
1100         (flymake-double-exclamation-mark): New bitmap.
1101         (flymake-error, flymake-warning, flymake-note)
1102         (flymake--highlight-line): 'bitmap property must be a symbol.
1103         Also set default face to flymake-error.
1104         (flymake--fringe-overlay-spec): Bitmap property can be a
1105         variable symbol.
1107 2017-10-03  João Távora  <joaotavora@gmail.com>
1109         Remove old flymake-display-err-menu-for-current-line, it's useless
1111         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
1113         * lisp/progmodes/flymake-ui.el
1114         (flymake-popup-current-error-menu): Remove.
1116 2017-10-03  João Távora  <joaotavora@gmail.com>
1118         Treat Flymake errors as just another type of diagnostic
1120         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
1121         (flymake--handle-report, flymake-popup-current-error-menu):
1122         Don't use it.
1124 2017-10-03  João Távora  <joaotavora@gmail.com>
1126         Fix three Flymake bugs when checking C header files
1128         The first of these problems is longstanding: if an error-less B.h is
1129         included from error-ridden A.h, flymake's legacy parser will panic
1130         (and disable itself) since it sees a non-zero exit for a clean file.
1131         To fix this, recommend returning 'true' in the documentation for the
1132         check-syntax target.
1134         Another problem was introduced by the parser rewrite.  For error
1135         patterns spanning more than one line, point may be left in the middle
1136         of a line and thus render other patterns useless.  Those patterns were
1137         written for the old line-by-line parser.  To make them useful again,
1138         move to the beginning of line in those situations.
1140         The third problem was also longstanding and happened on newer GCC's:
1141         The "In file included from" prefix confused
1142         flymake-proc-get-real-file-name.  Fix this.
1144         Also updated flymake--diag-region to fallback to highlighting a full
1145         line less often.
1147         Add automatic tests to check this.
1149         * lisp/progmodes/flymake-proc.el
1150         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
1151         accidentally spans more than one line.  Don't create
1152         diagnostics without error messages.
1153         (flymake-proc-real-file-name-considering-includes): New
1154         helper.
1155         (flymake-proc-allowed-file-name-masks): Use it.
1157         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
1158         argument explicitly optional.  Only fall back to full line in extreme
1159         cases.
1161         * test/lisp/progmodes/flymake-tests.el
1162         (included-c-header-files): New test.
1163         (different-diagnostic-types): Update.
1165         * test/lisp/progmodes/flymake-resources/Makefile
1166         (check-syntax): Always return success (0) error code.
1167         (CC_OPTS): Add -Wextra
1169         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
1170         (main): Rewrite comments.
1172         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
1173         Include some dummy header files.
1175         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
1177         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
1179         * doc/misc/flymake.texi (Example---Configuring a tool called
1180         via make): Recommend adding "|| true" to the check-syntax target.
1182 2017-10-03  João Távora  <joaotavora@gmail.com>
1184         Add interactive flymake-start function
1186         * lisp/progmodes/flymake.el (flymake-on-timer-event)
1187         (flymake-after-change-function, flymake-mode): Call
1188         flymake-start.
1189         (flymake-start): Rename from flymake--start-syntax-check.
1191 2017-10-03  João Távora  <joaotavora@gmail.com>
1193         A couple of Flymake backends for emacs-lisp-mode
1195         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
1196         automatically, but it affects emacs-lisp-mode-hook so that
1197         flymake-diagnostic-functions is setup with a suitable buffer-local
1198         value.  The variable flymake-diagnostic-funtions in every live
1199         emacs-lisp-mode buffer is also adjusted.
1201         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
1203         * lisp/progmodes/flymake-elisp.el: New file.
1205 2017-10-03  João Távora  <joaotavora@gmail.com>
1207         Fancy Flymake mode-line construct displays status
1209         Imitates compilation-mode's mode-line a bit, and uses its faces.
1211         * lisp/progmodes/flymake.el
1212         (flymake-error, flymake-warning, flymake-note): Add
1213         mode-line-face to these flymake error types.
1214         (flymake-note): Notes don't need a noisy fringe bitmap.
1215         (flymake-lighter): Delete.
1216         (flymake--update-lighter): Delete.
1217         (flymake--mode-line-format): New function and variable.
1218         (flymake--diagnostics-table): New buffer-local variable.
1219         (flymake--handle-report): Don't update "lighters".  Affect
1220         flymake--diagnostics-table.
1221         (flymake--run-backend): Init flymake--diagnostics-table for backend.
1222         (flymake-mode): Use flymake--mode-line-format.
1223         (flymake-mode): Don't update lighter.
1224         (flymake--highlight-line): Be more careful when overriding a
1225         nil default overlay property.
1227 2017-10-03  João Távora  <joaotavora@gmail.com>
1229         Tweak Flymake commands flymake-goto-[next/prev]-error
1231         Add filters, useful for backends like the upcoming
1232         flymake-elisp-checkdoc backend, for example, which litters everything
1233         with low-priority notes.
1235         Also re-implement wraparound for flymake-goto-next-error. Manual
1236         mentions this, so it's probably a good idea to keep it.  Added a new
1237         customization variable flymake-wrap-around to control it.
1239         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
1240         (flymake-goto-next-error): Accept FILTER argument.
1241         (flymake-wrap-around): New variable.
1242         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
1244         * test/lisp/progmodes/flymake-tests.el
1245         (different-diagnostic-types, dummy-backends): Pass FILTER to
1246         flymake-goto-prev-error.
1247         (different-diagnostic-types)
1248         (dummy-backends): Use flymake-wrap-around.
1250 2017-10-03  João Távora  <joaotavora@gmail.com>
1252         Flymake's flymake-proc.el backend slightly easier to debug
1254         Misc cleanup in flymake-proc.el
1256         Improve description of what this file contains.
1258         Better name for the backend function.  Fix the case where it is run
1259         interactively.
1261         Keep the output buffer alive iff the external process panics.
1263         * lisp/progmodes/flymake-proc.el
1264         (flymake-proc-legacy-flymake): Rename from
1265         flymake-proc-start-syntax-check.  Allow running interactively.
1266         (flymake-start-syntax-check): Obsolete alias for
1267         flymake-proc-legacy-flymake.
1268         (flymake-proc-start-syntax-check): Delete.
1269         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
1270         (flymake-proc--process-sentinel): Keep output buffer alive.
1271         Clarify with comments.
1272         (flymake-proc--diagnostics-for-pattern)
1273         (flymake-proc--process-sentinel)
1274         (flymake-proc--safe-delete-directory)
1275         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
1277 2017-10-03  João Távora  <joaotavora@gmail.com>
1279         Simplify Flymake logging and erroring
1281         Use display-warning and a dedicated *Flymake log* buffer.
1283         To ease readability, flymake log messages are now prefixed with a
1284         common prefix and the buffer that originated them.
1286         Some situations of over-zealous logging are fixed.
1288         Use byte-compiler info, if available, to determine whence the
1289         flymake-related log message is coming.
1291         * lisp/progmodes/flymake-proc.el
1292         (flymake-proc--diagnostics-for-pattern): Improve log message.
1293         (flymake-proc--panic): Always flymake-log an error
1294         (flymake-proc--safe-delete-file)
1295         (flymake-proc--safe-delete-directory):
1296         Downgrade warning
1297         (flymake-proc-start-syntax-check): Simplify slightly.
1298         (flymake-proc--start-syntax-check-process): Simplify.
1299         (flymake-proc--init-find-buildfile-dir)
1300         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
1301         No need to warn twice.
1303         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
1304         (flymake--log-1): New helper.
1305         (flymake-log-level): Deprecate.
1306         (flymake-error): New helper.
1307         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
1308         Use flymake-error.
1309         (flymake-on-timer-event)
1310         (flymake--handle-report, flymake--disable-backend)
1311         (flymake--run-backend, flymake-start, flymake-mode-on)
1312         (flymake-mode-off, flymake-after-change-function)
1313         (flymake-after-save-hook, flymake-find-file-hook): Adjust
1314         flymake-log calls.
1316         * test/lisp/progmodes/flymake-tests.el
1317         (flymake-tests--call-with-fixture): Only log errors.
1319 2017-10-03  Philipp Stephani  <phst@google.com>
1321         Work around deprecation of gtk_style_context_get_background_color
1323         * src/gtkutil.c (xg_check_special_colors): Replace call to
1324         gtk_style_context_get_background_color with its definition.
1326 2017-10-03  João Távora  <joaotavora@gmail.com>
1328         New Flymake API variable flymake-diagnostic-functions
1330         Lay groundwork for multiple active backends in the same buffer.
1332         Backends are lisp functions called when flymake-mode sees fit.  They
1333         are responsible for examining the current buffer and telling
1334         flymake.el, via return value, if they can syntax check it.
1335         Backends should return quickly and inexpensively, but they are also
1336         passed a REPORT-FN argument which they may or may not call
1337         asynchronously after performing more expensive work.
1339         REPORT-FN's calling convention stipulates that a backend calls it with
1340         a list of diagnostics as argument, or, alternatively, with a symbol
1341         denoting an exceptional situation, usually some panic resulting from a
1342         misconfigured backend.  In keeping with legacy behaviour,
1343         flymake.el's response to a panic is to disable the issuing backend.
1345         The flymake--diag object representing a diagnostic now also keeps
1346         information about its source backend.  Among other uses, this allows
1347         flymake to selectively cleanup overlays based on which backend is
1348         updating its diagnostics.
1350         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
1351         New dynamic variable.
1352         (flymake-proc--process): New variable.
1353         (flymake-can-syntax-check-buffer): Remove.
1354         (flymake-proc--process-sentinel): Simplify.  Use
1355         unwind-protect.  Affect flymake-proc--processes here.
1356         Bind flymake-proc--report-fn.
1357         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
1358         (flymake-proc--post-syntax-check): Delete
1359         (flymake-proc-start-syntax-check): Take mandatory
1360         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
1361         (flymake-proc--process-sentinel): Rewrite and simplify.
1362         (flymake-proc--panic): New helper.
1363         (flymake-proc--start-syntax-check-process): Record report-fn
1364         in process.  Use flymake-proc--panic.
1365         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
1366         flymake-proc--processes here.  Record interruption reason.
1367         (flymake-proc--init-find-buildfile-dir)
1368         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
1369         Use flymake-proc--panic.
1370         (flymake-diagnostic-functions): Add
1371         flymake-proc-start-syntax-check.
1372         (flymake-proc-compile): Call
1373         flymake-proc-stop-all-syntax-checks with a reason.
1375         * lisp/progmodes/flymake.el (flymake-backends): Delete.
1376         (flymake-check-was-interrupted): Delete.
1377         (flymake--diag): Add backend slot.
1378         (flymake-delete-own-overlays): Take optional filter arg.
1379         (flymake-diagnostic-functions): New user-visible variable.
1380         (flymake--running-backends, flymake--disabled-backends): New
1381         buffer-local variables.
1382         (flymake-is-running): Now a function, not a variable.
1383         (flymake-mode-line, flymake-mode-line-e-w)
1384         (flymake-mode-line-status): Delete.
1385         (flymake-lighter):  flymake's minor-mode "lighter".
1386         (flymake-report): Delete.
1387         (flymake--backend): Delete.
1388         (flymake--can-syntax-check-buffer): Delete.
1389         (flymake--handle-report, flymake--disable-backend)
1390         (flymake--run-backend, flymake--run-backend):  New helpers.
1391         (flymake-make-report-fn): Make a lambda.
1392         (flymake--start-syntax-check): Iterate
1393         flymake-diagnostic-functions.
1394         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
1395         flymake--running-backends and flymake--disabled-backends.
1396         (flymake-find-file-hook): Simplify.
1398         * test/lisp/progmodes/flymake-tests.el
1399         (flymake-tests--call-with-fixture): Use flymake-is-running the
1400         function.  Check if flymake-mode already active before activating it.
1401         Add a thorough test for flymake multiple backends
1403         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
1404         Don't use condition-case-unless-debug, use condition-case
1406         * test/lisp/progmodes/flymake-tests.el
1407         (flymake-tests--assert-set): New helper macro.
1408         (dummy-backends): New test.
1410 2017-10-03  João Távora  <joaotavora@gmail.com>
1412         More Flymake cleanup before advancing to backend redesign
1414         Diagnostics are reported for buffers, not necessarily files.  It’s the
1415         backend’s responsibility to compute the buffer where the diagnostic is
1416         applicable.  For now, this has to match the buffer where flymake-mode
1417         is active and which is at the origin of the backend call.
1419         flymake.el knows nothing about line/column diagnostics (except for
1420         backward-compatible flymake-ler-make-ler, which must yet be tested).
1421         It’s also the backend’s reponsibility to compute a BEG and END
1422         positions for the diagnostic in the relevant buffer.
1424         * lisp/progmodes/flymake-proc.el
1425         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
1426         region here.  Check file buffer here.
1427         (flymake-proc--process-sentinel): Don’t kill output buffer if
1428         high enough log level.
1430         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
1431         function.  (flymake--highlight-line): Diagnostic has region now.
1432         (flymake-popup-current-error-menu): Don’t add file and line numbers to
1433         already this silly menu.  (flymake--fix-line-numbers): Remove.
1434         (flymake-report): No need to fix diagnostics here.
1436 2017-10-03  João Távora  <joaotavora@gmail.com>
1438         Protect Flymake's eager checks against commands like fill-paragraph
1440         If flymake-start-syntax-check-on-newline is t, check should start as
1441         soon as a newline is seen by after-change-functions.  But don't rush
1442         it: since the buffer state might not be final, we might end up with
1443         invalid diagnostic regions after some commands silently insert and
1444         delete newlines (looking at you, fill-paragraph).
1446         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
1447         `deferred' to flymake--start-syntax-check.
1448         (flymake--start-syntax-check): Take optional `deferred' arg.
1450 2017-10-03  João Távora  <joaotavora@gmail.com>
1452         Flymake highlights GCC info/notes as detected by flymake-proc.el
1454         * lisp/progmodes/flymake-proc.el
1455         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
1456         honour more sophisticated flymake-proc-diagnostic-type-pred.
1457         (flymake-warning-re): Is now an obsolete alias for
1458         flymake-proc-diagnostic-type-pred.
1459         (flymake-proc-diagnostic-type-pred): Rename and augment from
1460         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
1461         Delete.
1463         * lisp/progmodes/flymake.el (flymake-note): New face.
1464         (flymake-diagnostic-types-alist): Simplify.
1465         (flymake-note): New overlay category.
1466         (flymake--lookup-type-property): Only lookup single keys, not lists.
1467         (flymake--diag-errorp): Rewrite.
1468         (flymake--highlight-line): Use flymake--lookup-type-property.
1470         * test/lisp/progmodes/flymake-tests.el
1471         (different-diagnostic-types): Rename from errors-and-warnings.
1472         Check notes.
1473         (flymake-tests--call-with-fixture): Use
1474         flymake-proc-diagnostic-type-pred.
1476 2017-10-03  João Távora  <joaotavora@gmail.com>
1478         Flymake checks file names before considering diagnostics
1480         The error patterns for gcc picked up errors for the Makefile itself,
1481         for example.  These shouldn't count as actual errors.
1483         * lisp/progmodes/flymake.el (flymake-report): Check
1484         matching file names.
1486 2017-10-03  João Távora  <joaotavora@gmail.com>
1488         Echo Flymake error messages when navigating errors interactively
1490         Perhaps binding M-n and M-p to flymake-goto-next-error and
1491         flymake-goto-prev-error also wouldn't be a bad idea.
1493         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
1494         target overlay's help-echo.
1496 2017-10-03  João Távora  <joaotavora@gmail.com>
1498         Add a new Flymake test for multiple errors and warnings
1500         * test/lisp/progmodes/flymake-tests.el
1501         (flymake-tests--call-with-fixture): Save excursion.
1502         (errors-and-warnings): New test.
1504         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
1505         New test fixture.
1507 2017-10-03  João Távora  <joaotavora@gmail.com>
1509         Flymake warning face easier to distinguish
1511         A orange wavy underline is very hard to tell from a red wavy
1512         underline.
1514         * lisp/progmodes/flymake.el (flymake-warning): Change color to
1515         "deep sky blue"
1517 2017-10-03  João Távora  <joaotavora@gmail.com>
1519         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
1521         Column numbers are not a great way of marking diagnostic regions, but
1522         that's probably all that can be expected from the flymake-proc.el
1523         backend.  For now, try (end-of-thing 'sexp) to discover the
1524         diagnostic's end position.
1526         * lisp/progmodes/flymake-proc.el ()
1527         (flymake-proc-err-line-patterns): Also parse column numbers,
1528         if available, for gcc/javac warnings.
1530 2017-10-03  João Távora  <joaotavora@gmail.com>
1532         New Flymake variable flymake-diagnostic-types-alist and much cleanup
1534         A new user-visible variable is introduced where different diagnostic
1535         types can be categorized.  Flymake backends can also contribute to
1536         this variable.  Anything that doesn’t match an existing error type
1537         is considered.
1539         The variable’s alists are used to propertize the overlays pertaining
1540         to each error type.  The user can override the built-in properties by
1541         either by modifying the alist, or by modifying the properties of a
1542         special "category" symbol, named by the `flymake-category' entry in
1543         the alist.
1545         The `flymake-category' entry is especially useful for, say, the author
1546         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
1547         should behave like notes, except with no fringe bitmap:
1549            (add-to-list 'flymake-diagnostic-types-alist
1550                         '(:foo-note
1551                           . ((flymake-category . flymake-note)
1552                              (bitmap . nil))))
1554         For essential properties like `severity', `priority', etc, a default
1555         value is produced.  Some properties like `evaporate' cannot be
1556         overriden.
1558         * lisp/progmodes/flymake.el (flymake--diag): Rename from
1559         flymake-ler.
1560         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
1561         (flymake-ler-errorp): Rewrite using flymake--severity.
1562         (flymake--place-overlay): Delete.
1563         (flymake--overlays): Now a cl-defun with &key args.  Document.
1564         Use `overlays-at' if BEG is non-nil and END is nil.
1565         (flymake--lookup-type-property): New helper.
1566         (flymake--highlight-line): Rewrite.
1567         (flymake-diagnostic-types-alist): New API variable.
1568         (flymake--diag-region)
1569         (flymake--severity, flymake--face)
1570         (flymake--fringe-overlay-spec): New helper.
1571         (flymake-popup-current-error-menu): Use new flymake-overlays.
1572         (flymake-popup-current-error-menu, flymake-report): Use
1573         flymake--diag-errorp.
1574         (flymake--fix-line-numbers): Use flymake--diag-line.
1575         (flymake-goto-next-error): Pass :key to flymake-overlays
1577         * lisp/progmodes/flymake-proc.el
1578         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
1580 2017-10-03  João Távora  <joaotavora@gmail.com>
1582         Refactor Flymake tests in preparation for more tests
1584         Introduce a slightly more generic fixture macro.
1586         Also make flymake-tests.el friendlier to interactive runs, by not
1587         killing buffers visited by the user.
1589         * test/lisp/progmodes/flymake-tests.el
1590         (flymake-tests--call-with-fixture): New helper from
1591         flymake-tests--current-face.  Don't kill file buffers already
1592         being visited before the test starts.
1593         (flymake-tests--with-flymake): New macro.
1594         (flymake-tests--current-face): Delete.
1595         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
1596         (warning-predicate-rx-perl, warning-predicate-function-perl):
1597         Use flymake-test--with-flymake.
1599 2017-10-03  João Távora  <joaotavora@gmail.com>
1601         Allow running Flymake tests from interactive sessions
1603         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
1604         Expand to reasonable value if no
1605         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
1606         "weirdness" of bug 17647 with read-event.
1608 2017-10-03  João Távora  <joaotavora@gmail.com>
1610         Flymake diagnostics now apply to arbitrary buffer regions
1612         Make Flymake UI some 150 lines lighter
1614         Strip away much of the original implementation's complexity in
1615         manipulating objects representing diagnostics as well as creating and
1616         navigating overlays.
1618         Lay some groundwork for a more flexible approach that allows for
1619         different classes of diagnostics, not necessarily line-based.
1620         Importantly, one overlay per diagnostic is created, whereas the
1621         original implementation had one per line, and on it it concatenated
1622         the results of errors and warnings.
1624         This means that currently, an error and warning on the same line are
1625         problematic and the warning might be overlooked but this will soon be
1626         fixed by setting appropriate priorities.
1628         Since diagnostics can highlight arbitrary regions, not just lines, the
1629         faces were renamed.
1631         Tests pass and backward compatibility with interactive functions is
1632         maintained, but probably any third-party extension or customization
1633         relying on more than a trivial set of flymake.el internals has stopped
1634         working.
1636         * lisp/progmodes/flymake-proc.el
1637         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
1638         constructor syntax.
1640         * lisp/progmodes/flymake.el (flymake-ins-after)
1641         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
1642         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
1643         (flymake-ler-set-full-file, flymake-ler-set-line)
1644         (flymake-get-line-err-count, flymake-get-err-count)
1645         (flymake-highlight-err-lines, flymake-overlay-p)
1646         (flymake-make-overlay, flymake-region-has-flymake-overlays)
1647         (flymake-find-err-info)
1648         (flymake-line-err-info-is-less-or-equal)
1649         (flymake-add-line-err-info, flymake-add-err-info)
1650         (flymake-get-first-err-line-no)
1651         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
1652         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
1653         (flymake-goto-line, flymake-goto-next-error)
1654         (flymake-goto-prev-error, flymake-patch-err-text): Delete
1655         functions no longer used.
1656         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
1657         (flymake-report): Rewrite.
1658         (flymake-popup-current-error-menu): Rewrite.
1659         (flymake--highlight-line): Rename from
1660         flymake-highlight-line.  Call `flymake--place-overlay.
1661         (flymake--place-overlay): New function.
1662         (flymake-ler-errorp): New predicate.
1663         (flymake-ler): Simplify.
1664         (flymake-error): Rename from
1665         flymake-errline.
1666         (flymake-warning): Rename from flymake-warnline.
1667         (flymake-warnline, flymake-errline): Obsoletion aliases.
1669         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
1670         (warning-predicate-function-gcc, warning-predicate-rx-perl)
1671         (warning-predicate-function-perl): Use face `flymake-warning'.
1673 2017-10-03  João Távora  <joaotavora@gmail.com>
1675         Move symbols in flymake-proc.el to separate namespace
1677         Every symbol in this flymake now starts with the prefix flymake-proc-.
1679         Make obsolete aliases for (almost?) every symbol.
1681         Furthermore, many flymake-proc.el symbols are prefixed with
1682         "flymake-proc--", that is they were considered internal.
1684         Some customization variables, interactive functions, and other symbols
1685         considered useful to user customizations or third-party libraries are
1686         considered "public" or "external" and so use a "flymake-proc-" prefix.
1688         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
1690         * test/lisp/progmodes/flymake-tests.el
1691         (flymake-tests--current-face): Use
1692         flymake-proc-warning-predicate, not flymake-warning-predicate.
1694         * lisp/progmodes/flymake-proc.el
1695         (flymake-proc--get-project-include-dirs-function)
1696         (flymake-proc--get-project-include-dirs-imp)
1697         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
1698         (flymake-proc--find-make-buildfile)
1699         (flymake-proc--get-syntax-check-program-args)
1700         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
1701         (flymake-proc--init-find-buildfile-dir)
1702         (flymake-proc--get-full-nonpatched-file-name)
1703         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
1704         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
1705         (flymake-proc--temp-source-file-name)
1706         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
1707         (flymake-proc--start-syntax-check-process)
1708         (flymake-proc--compilation-is-running)
1709         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
1710         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
1711         (flymake-proc--clear-project-include-dirs-cache)
1712         (flymake-proc--project-include-dirs-cache)
1713         (flymake-proc--get-system-include-dirs)
1714         (flymake-proc--get-project-include-dirs)
1715         (flymake-proc--add-project-include-dirs-to-cache)
1716         (flymake-proc--get-project-include-dirs-from-cache)
1717         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
1718         (flymake-proc--process-filter) (flymake-proc--create-master-file)
1719         (flymake-proc--find-buffer-for-file)
1720         (flymake-proc--copy-buffer-to-temp-buffer)
1721         (flymake-proc--read-file-to-temp-buffer)
1722         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
1723         flymake-proc--check-include)
1724         (flymake-proc--check-patch-master-file-buffer)
1725         (flymake-proc--master-file-compare)
1726         (flymake-proc--find-possible-master-files)
1727         (flymake-proc--included-file-name, flymake-proc--same-files)
1728         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
1729         (flymake-proc--clear-buildfile-cache)
1730         (flymake-proc--add-buildfile-to-cache)
1731         (flymake-proc--get-buildfile-from-cache)
1732         (flymake-proc--find-buildfile-cache)
1733         (flymake-proc--get-real-file-name-function)
1734         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
1735         (flymake-proc--get-file-name-mode-and-masks)
1736         (flymake-proc--processes): Rename to internal symbol from
1737         flymake-proc- version.
1739 2017-10-03  João Távora  <joaotavora@gmail.com>
1741         Completely rewrite Flymake's subprocess output processing
1743         Instead of parsing and matching regexps line-by-line, insert
1744         subprocess output in a separate buffer and parse using
1745         `search-forward-regexp'.  This eventually enables multi-line error
1746         patterns and simplifies code all around.  Store per-check information
1747         in the subprocess using `process-get' and `process-put'.  Treat error
1748         messages, warnings, etc. more generically as "diagnostics".  Create
1749         these objects as soon as possible, reusing existing `flymake-ler'
1750         structure.  Fix some whitespace.
1752         * lisp/progmodes/flymake.el (cl-lib): Require also when
1753         loading.
1754         (flymake--fix-line-numbers): Rename from
1755         flymake-fix-line-numbers.  Simplify.
1756         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
1757         plain diagnostics list into alist format expected by
1758         flymake-highlight-err-lines.
1760         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
1761         process output and parse in dedicated output buffer.
1762         (flymake-proc--diagnostics-for-pattern): New helper function.
1763         (flymake-process-sentinel): Call flymake-post-syntax-check with
1764         collected diagnostics.  Kill output buffer.
1765         (flymake-post-syntax-check): Receive diagnostics as third argument.
1766         (flymake-parse-output-and-residual, flymake-new-err-info)
1767         (flymake-parse-residual, flymake-parse-err-lines)
1768         (flymake-split-output, flymake-proc-parse-line)
1769         (flymake-output-residual): Delete.
1770         (flymake-start-syntax-check-process): Use make-process.  Setup
1771         dedicated an output buffer
1773 2017-10-03  João Távora  <joaotavora@gmail.com>
1775         Flymake provides flymake-report re-entry point for backends
1777         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
1778         Simplify.  Call flymake-report.
1780         * lisp/progmodes/flymake.el (flymake-report): New function.
1782 2017-10-03  João Távora  <joaotavora@gmail.com>
1784         Split Flymake into flymake.el into flymake-proc.el (again!)
1786         After deciding that this work would continue on master only, which
1787         caused two commits named
1789            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
1791         and
1793            Revert "Add flymake-backends defcustom"
1795         to be added to the emacs-26 branch, further discussion reversed that
1796         decision.
1798            See:
1800              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
1801              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
1803         This means that those two commits MUST be merged to master AFTER ALL.
1805         flymke-proc.el contains the main syntax-checking backend, while
1806         flymake.el keeps mostly the UI part.
1808         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
1810         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
1812 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
1814         Update authors.el
1816         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
1817         (authors-renamed-files-alist): Additions.
1819 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
1821         Give more helpful messages for python completion setup failures
1823         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
1824         case the completion setup failed with some exception, print out the
1825         exception type and message.  If libedit is detected, raise an
1826         exception, since this is known to fail.
1828 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
1830         Fix the --without-x build
1832         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
1833         frame_parent only in GUI builds to avoid compilation errors in
1834         --without-x builds.  (Bug#28611)
1836 2017-10-02  Paul Eggert  <eggert@day>
1838         Fix customization of zoneinfo-style-world-list
1840         A customizable variable's initial value cannot depend on that of
1841         another customizable variable, since the variables are initialized
1842         in other than textual order.  Problem reported by N. Jackson
1843         (Bug#24291).
1844         * lisp/time.el (display-time-world-list): Default to t,
1845         a special value that expands to zoneinfo-style-word-list
1846         if that works, and to legacy-style-word-list otherwise.
1847         (time--display-world-list): New function.
1848         (display-time-world, display-time-world-timer): Use it.
1850 2017-10-02  Alan Mackenzie  <acm@muc.de>
1852         Fix a CC Mode brace stack cache bug.
1854         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
1855         c-beginning-of-current-token after a failing search operation, to ensure we
1856         don't cache a point inside a token.
1858 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1860         * etc/PROBLEMS: Document Bug#26638.
1862 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1864         Prefer HTTPS to HTTP for gnu.org
1866         This fixes some URLs I omitted from my previous pass,
1867         notably those in lists.gnu.org.  Although lists.gnu.org
1868         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
1869         * lisp/erc/erc.el (erc-official-location):
1870         * lisp/mail/emacsbug.el (report-emacs-bug):
1871         Use https:, not http:.
1873 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
1875         Merge from Gnulib
1877         This is mostly to change http: to https: in licenses.
1878         * COPYING, build-aux/config.guess, build-aux/config.sub:
1879         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
1880         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
1881         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
1882         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
1883         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
1884         * msdos/COPYING, nt/COPYING, src/COPYING:
1885         Copy from Gnulib.
1887 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
1889         Keep eww buffer current when looking up CSS on MDN
1891         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
1892         current when looking up CSS documentation on MDN.  This fixes a bug
1893         where the eww buffer's content sometimes get mangled when switching
1894         buffers mid-render.
1896 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
1898         Workaround for faulty localtime() under macOS 10.6
1900         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
1901         'decode-time' on times later than year -2**31 under macOS 10.6.
1902         See Bug#27706.
1904 2017-10-01  Alan Mackenzie  <acm@muc.de>
1906         Doc amendment for syntax-ppss.
1908         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
1909         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
1910         buffer.  Final part of the fix for bug #22983.
1912 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
1914         Remove incorrect NEWS entry about 'find-library'
1916         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
1917         'find-library' taking a prefix argument to pop to a different
1918         window.  This behavior was added in "Allow a prefix argument to
1919         find-library to pop to a different window" (commit e1f2d14a), and
1920         then removed in "New commands: find-library-other-window,
1921         find-library-other-frame" (commit 021430f4).
1923 2017-10-01  Alan Mackenzie  <acm@muc.de>
1925         Remove inadvertent changes to syntax.texi in last commit.
1927         * doc/lispref/syntax.texi (Position Parse): revert changes.
1929 2017-10-01  Alan Mackenzie  <acm@muc.de>
1931         Amend documentation for text-quoting-style becoming a user option.
1933         * doc/lispref/control.texi (Signaling Errors):
1934         * doc/lispref/display.texi (Displaying Messages):
1935         * doc/lispref/strings.texi (Formatting Strings):
1936         Edit for brevity, farming out the details to the new
1937         Text Quoting Style node.
1938         * doc/lispref/help.texi (Text Quoting Style): New section.
1939         Move detailed discussion of text-quoting-style here.
1940         Add discussion about how to output grave accent and apostrophe in
1941         documentation and messages.  Adjust xrefs to point to this section
1942         when appropriate.
1943         * etc/NEWS: text-quoting-style semantics have not changed.
1945 2017-10-01  Alan Mackenzie  <acm@muc.de>
1947         Make the value nil in text-quoting-style mean what it does in Emacs 25.
1949         This is a partial reversion of yesterday's commit by the same author, which
1950         changed the meaning of nil and introduced the new value t.
1952         * src/doc.c (text_quoting_style, text-quoting-style)
1953         (internal--text-quoting-flag): Revert yesterday's changes.
1955         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
1957         * etc/NEWS: Amend the entry for text-quoting-style.
1959         * doc/lispref/control.texi (Signalling Errors)
1960         * doc/lispref/display.texi (Displaying Messages)
1961         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
1962         grave rather than nil to inhibit translation of quotes.
1964         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
1965         proposed new default, t.
1967 2017-10-01  Alan Mackenzie  <acm@muc.de>
1969         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
1971         A value of nil for text-quoting-style now means "no translation".  t means
1972         "Use curved quotes if displayable".
1974         * src/doc.c (text-quoting-style (function)): modify for new semantics.
1975         (text-quoting-style (variable)): Amend the doc string, set the default value
1976         to t.
1978         * lisp/cus-start.el: (top level): Create a customize entry for
1979         text-quoting-style in group display.
1981         * etc/NEWS: Amend the entry for text-quoting-style.
1983         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
1984         quotes to curved quotes, and how to influence or inhibit it.
1986         * doc/lispref/control.texi (Signalling Errors)
1987         * doc/lispref/display.texi (Displaying Messages)
1988         * doc/lispref/strings.texi (Formatting Strings): Describe binding
1989         text-quoting-style to nil to inhibit unwanted quote translation.
1991         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
1992         from a variable to a user option.  Describe its changed set of values.  State
1993         that it can be customized freely.
1995 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
1997         eshell.texi improvements
1999         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
2000         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
2001         (Aliases): Add $*, $1, $2, ... to the variable index.
2003 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
2005         Fix ns-win.el on GNUstep
2007         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
2008         don't try it when not using Cocoa.
2010 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
2012         Fix reference style in org.texi
2014         * doc/misc/org.texi (A Texinfo example): Fix reference style.
2016 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
2018         Improve handling of iconification of child frames (Bug#28611)
2020         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
2021         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
2022         (iconify_child_frame): New option.
2023         * lisp/cus-start.el (iconify-child-frame): Add customization
2024         properties.
2025         * doc/lispref/frames.texi (Child Frames): Describe new option
2026         `iconify-child-frame'.  Don't index "top-level frame" twice.
2028 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
2030         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
2032         It broke the established argument handling methods provided by eshell
2033         aliases (Bug#28568).
2034         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
2035         arguments in aliases.
2036         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
2037         ARGS.
2039 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
2041         Make "unsafe directory" error message more informative (Bug#865)
2043         * lisp/server.el (server-ensure-safe-dir): Produce a description for
2044         each "unsafe" condition.
2046 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
2048         Fix slot typecheck in eieio-persistent
2050         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
2051           An `or' form can specify multiple potential classes (or null) as
2052           valid types for a slot, but previously only the final element of the
2053           `or' was actually checked. Now returns all valid classes in the `or'
2054           form.
2055           (eieio-persistent-validate/fix-slot-value): Check if proposed value
2056           matches any of the valid classes.
2057         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
2058           (eieio-test-multiple-class-slot): Test this behavior.
2060 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
2062         Fix semantic-ia-fast-jump
2064         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
2065         Use `pop-to-buffer-same-window' (bug#28645).
2067 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
2069         Bind vc-region-history
2071         * lisp/vc/vc-hooks.el (vc-prefix-map):
2072         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
2073         `vc-insert-headers' (Bug#27644).
2074         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
2075         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
2076         'C-x v h' with `vc-insert-headers'.
2077         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
2079 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
2081         Exit macro definition on undefined keys
2083         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
2084         (Bug#28008)
2086 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
2088         Reset bidi-paragraph-direction on article rendering
2090         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
2091         bidi-paragraph-direction on article rendering.  (Bug#28454)
2093 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
2095         Fix url-http use of url-current-object
2097         * lisp/url/url-http.el (url-http): Bind url-current-object before
2098         calling url-http-find-free-connection.  (Bug#28515)
2100 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
2102         Avoid assertions in vc-hg.el on MS-Windows
2104         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
2105         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
2106         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
2107         instead of relying on Unix file-name syntax.  This avoids
2108         assertion violations on MS-Windows.
2110 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
2112         Improve documentation of 'copy-sequence'
2114         * src/fns.c (Fcopy_sequence):
2115         * doc/lispref/sequences.texi (Sequence Functions): Mention the
2116         exception when copying an empty sequence.  (Bug#28627)
2118 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
2120         Minor update of ack.texi
2122         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
2123         contributions.
2125 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
2127         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
2129 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
2131         Improve indexing of multi-file/buffer Isearch commands
2133         * doc/emacs/maintaining.texi (Identifier Search): Change wording
2134         of index entries to make them different from those for multi-file
2135         isearch commands.  (Bug#28584)
2136         * doc/emacs/search.texi (Other Repeating Search): Index the
2137         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
2138         each index entry close to its subject.
2140 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
2142         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
2144         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
2145         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
2146         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
2147         functions.
2148         (lcms-cam02-ucs): Refactor.
2149         (syms_of_lcms2): Declare new functions.
2150         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
2151         (lcms-jmh->cam02-ucs-silver): New tests.
2152         * etc/NEWS: Mention new functions.
2154 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
2156         Fix uses of @kindex in the Emacs manual
2158         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
2159         * doc/emacs/mark.texi (Global Mark Ring)
2160         (Disabled Transient Mark):
2161         * doc/emacs/buffers.texi (Select Buffer):
2162         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
2163         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
2165 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2167         Merge from gnulib
2169         This incorporates:
2170         2017-09-28 string: code style
2171         2017-09-25 sys_types: update URL
2172         2017-09-23 install-sh: do not assume / = //
2173         2017-09-21 mktime: port to OpenVMS
2174         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
2175         * m4/sys_types_h.m4: Copy from Gnulib.
2176         * lib/gnulib.mk.in: Regenerate.
2178 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2180         Prefer HTTPS to HTTP for gnu.org
2182         This catches some URLs I missed in my previous scan,
2183         or perhaps were added after the scan.
2185 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
2187         Wait for frame visibility with timeout in w32term too
2189         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
2190         variable.
2191         (x_make_frame_visible): Wait for frame to become visible according to
2192         its value.
2193         (input_signal_count): Remove.
2195 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
2197         Bring back the busy wait after x_make_frame_visible (Bug#25521)
2199         But wait specfically for a MapNotify event, and only for a
2200         configurable amount of time.
2201         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
2202         variable.
2203         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
2204         (x_make_frame_visible): Call x_wait_for_event at the end.
2205         * etc/NEWS: Announce x_wait_for_event.
2207 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
2209         Fix last doc string change in simple.el
2211         * lisp/simple.el (shell-command-saved-pos)
2212         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
2214 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
2216         Revert "bug#28609: simple.el"
2218         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
2220 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
2222         bug#28609: simple.el
2224         Correct grammar; also, call a pair a pair.
2226         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
2228 2017-09-29  Rasmus  <rasmus@gmx.us>
2230         Merge branch 'emacs-26' into scratch/org-mode-merge
2232 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
2234         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
2236         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
2237         above the `debugger' frame, rather than assuming there will be a
2238         `signal' frame.
2240 2017-09-28  Alan Third  <alan@idiocy.org>
2242         Revert "Fix build on macOS (bug#28571)"
2244         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
2246         Prematurely pushed.
2248 2017-09-28  Alan Third  <alan@idiocy.org>
2250         Fix build on macOS (bug#28571)
2252         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
2253         [DARWIN_OS]: Undefine.
2255 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
2257         Add tests for `css-current-defun-name'
2259         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
2260         (css-test-current-defun-name-nested)
2261         (css-test-current-defun-name-complex): New tests for
2262         `css-current-defun-name'.
2264 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
2266         In w32fullscreen_hook don't add decorations to undecorated frames
2268         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
2269         remove) decorations for undecorated frames.
2271 2017-09-28  João Távora  <joaotavora@gmail.com>
2273         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
2275         In other words, re-coalesce the two files,
2276         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
2277         into a single one, lisp/progmodes/flymake.el.
2279         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
2280         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
2281         are kept in place in the new lisp/progmodes/flymake.el.
2283         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
2285         Don't merge this back to master as development happening there builds
2286         upon this work. See also
2287         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
2289 2017-09-28  João Távora  <joaotavora@gmail.com>
2291         Revert "Add flymake-backends defcustom"
2293         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
2295         Don't merge this back to master as development happening there builds
2296         upon this work. See also
2297         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
2299 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
2301         * src/editfns.c (styled_format): Fix typo in previous change.
2303 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
2305         Avoid some unnecessary copying in Fformat etc.
2307         This patch is just for performance; it should not affect behavior.
2308         On my platform, it made the microbenchmark (format "%S" load-path)
2309         run about 45% faster.  It should also speed up calls like (message
2310         "%s" STRING).
2311         * src/callint.c (Fcall_interactively):
2312         * src/dbusbind.c (XD_OBJECT_TO_STRING):
2313         * src/editfns.c (Fmessage, Fmessage_box):
2314         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
2315         Use styled_format instead of Fformat or Fformat_message,
2316         to avoid unnecessary copying.
2317         * src/editfns.c (styled_format): New arg NEW_RESULT.
2318         All uses changed.  Reuse an input string if it has the
2319         right value and if !NEW_RESULT.
2320         * src/lisp.h (style_format): New decl.
2322 2017-09-26  John Wiegley  <johnw@newartisans.com>
2324         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
2326 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
2328         bug#28609: simple.el
2330         Correct grammar; also, call a pair a pair.
2332 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
2334         Use a separate syntax-ppss cache for narrowed buffers
2336         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
2337         New variable, to contain the data from `syntax-ppss-last' and
2338         `syntax-ppss-cache'.
2339         (syntax-ppss-cache, syntax-ppss-last): Remove.
2340         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
2341         (syntax-ppss-flush-cache): Flush both caches.
2342         (syntax-ppss--data): Return the appropriate last result and
2343         buffer cache for the current restriction.
2344         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
2346 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
2348         Improve python3-compatibility of fallback completion (Bug#28499)
2350         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
2351         inspect.getfullargspec instead of inspect.getargspec to avoid a
2352         deprecation warning on every usage of eldoc in python-mode.
2354 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
2356         Fix subr-x-tests when running from elc
2358         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
2359         Use `eval' around the `should-error' cases.
2361 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
2363         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
2365 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
2367         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
2369         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
2370         variable alias for `sh-basic-offset'.
2371         (sh-mode, sh-smie--indent-continuation)
2372         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
2373         with `sh-basic-offset'.
2375 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
2377         Fix loading of smie-config rules (Bug#24848)
2379         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
2380         instead of `setq-default'.
2381         (smie-config): Use `custom-initialize-set' instead of
2382         `custom-initialize-default' as the :initialize argument.
2384         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
2385         we call `smie-config-guess' so that the user will have a chance to
2386         find the correct docstring to consult.  Remove hedging comments
2387         regarding use of abnormal hooks.
2389 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
2391         Reset default-directory inside *xref-grep* buffer
2393         * lisp/progmodes/xref.el (xref-collect-matches):
2394         Reset default-directory, too. (Bug#28575)
2396 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
2398         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
2399         code for smb.
2401 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
2403         Loosen strict parsing requirement for desktop files
2405         There are other desktop-looking files, for instance those having to do
2406         with MIME typess, that would benefit from being able to be read by this
2407         function.  It helps to have some flexibility.
2408         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
2409         * test/lisp/xdg-tests.el: Remove a test.
2411 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
2413         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
2415 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
2417         Fix documentation of `make-frame' and related variables and hooks
2419         * lisp/frame.el (before-make-frame-hook)
2420         (after-make-frame-functions, frame-inherited-parameters)
2421         (make-frame): Fix doc-strings.
2422         * doc/lispref/frames.texi (Creating Frames): Fix description
2423         of `make-frame' and related variables and hooks.
2425 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
2427         Accept new `always' value for option `buffer-offer-save'
2429         Also revert ee512e9a82
2431         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
2432           allows a third symbol value, `always'. A buffer where this option is
2433           set to `always' will always be offered for save by
2434           `save-some-buffers'.
2435           (save-some-buffers): Check the exact value of this buffer-local
2436           variable. No longer check the buffer name, or the value of
2437           `write-contents-functions'.
2438         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
2439         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
2440           names.
2441         * etc/NEWS: Mention in NEWS.
2443 2017-09-24  Alan Third  <alan@idiocy.org>
2445         Improve new NS scrolling variable names
2447         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
2448         'ns-use-mwheel-acceleration'.
2449         (ns-touchpad-scroll-line-height): Replace with
2450         'ns-mwheel-line-height'.
2451         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
2452         * etc/NEWS: Change variable names.
2454 2017-09-24  Philipp Stephani  <phst@google.com>
2456         Document 'replace-buffer-contents' in the manual.
2458         * doc/lispref/text.texi (Replacing): New node.
2460 2017-09-23  Alan Third  <alan@idiocy.org>
2462         Fix undecorated frame resizing issues on NS (bug#28512)
2464         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
2465         toolbar on undecorated frames.
2466         (EmacsView::initFrameFromEmacs): Group window flags correctly.
2468 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
2470         Fix doc string of 'dired-listing-switches'
2472         * lisp/dired.el (dired-listing-switches): Fix the quoting
2473         example.  (Bug#28569)
2475 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
2477         Documentation improvements for 'display-line-numbers'
2479         * doc/emacs/display.texi (Display Custom): Document a few more
2480         options for display-line-numbers.  (Bug#28533)  Fix a typo.
2482 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
2484         Fix last change in bat-mode.el
2486         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
2487         change.  (Bug#28311)
2489 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
2491         Fix restoring in GUI sessions desktop saved in TTY sessions
2493         * lisp/frameset.el (frameset-filter-font-param): New function.
2494         (frameset-persistent-filter-alist): Use it for processing the
2495         'font' frame parameter.  (Bug#17352)
2497 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
2499         Improve syntax highlighting in bat-mode
2501         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
2502         font-locking of environment variables.  Suggested by Achim Gratz
2503         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
2505 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
2507         Document the 'list-FOO' convention
2509         * doc/lispref/tips.texi (Coding Conventions): Document the
2510         list-FOO convention.
2512 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
2514         Expose viewing conditions in CAM02-UCS metric
2516         Also add tests from the colorspacious library.  Finally, catch an
2517         errant calculation, where degrees were not being converted to radians.
2518         * src/lcms.c (deg2rad, default_viewing_conditions):
2519         (parse_viewing_conditions): New functions.
2520         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
2521         the docstring and explain viewing conditions.  JCh hue is given in
2522         degrees and needs to be converted to radians.
2523         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
2524         API needlessly impure.
2525         * test/src/lcms-tests.el: Reword commentary.
2526         (lcms-rgb255->xyz): New function.
2527         (lcms-cri-cam02-ucs): Fix let-binding.
2528         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
2530 2017-09-21  Alan Third  <alan@idiocy.org>
2532         Revert "Set frame size to actual requested size (bug#18215)"
2534         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
2536         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
2538 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
2540         Add tests for Edebug
2542         * test/lisp/emacs-lisp/edebug-tests.el: New file.
2543         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
2545 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
2547         Catch more messages in ert-with-message-capture
2549         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
2550         messages from prin1, princ and print.
2551         (ert--make-message-advice): New function.
2552         (ert--make-print-advice): New function.
2554 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
2556         Support setting region from secondary selection and vice versa
2558         * lisp/mouse.el (secondary-selection-exist-p): New function to
2559         allow callers to tell existence of the secondary selection
2560         in current buffer.
2561         (secondary-selection-to-region): New function to set
2562         beginning and end of the region from those of the secondary
2563         selection.
2564         (secondary-selection-from-region): New function to set
2565         beginning and end of the secondary selection from those of
2566         the region.  (Bug#27530)
2568         * etc/NEWS: Mention the new functions.
2570 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2572         Fix new copy-directory bug with empty dirs
2574         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
2575         (Bug#28483#34).  This is another bug that I introduced in my
2576         recent copy-directory changes.
2577         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
2578         * test/lisp/files-tests.el (files-tests--copy-directory):
2579         Test for this bug.
2581 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
2583         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
2585 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
2587         Fix 2 testsuite tests for MS-Windows
2589         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
2590         create files with "*" in their names.
2591         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
2592         results to MS-Windows build.  Reported by Fabrice Popineau
2593         <fabrice.popineau@gmail.com>.
2595 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
2597         Rename timer-list to list-timers
2599         * doc/emacs/anti.texi (Antinews):
2600         * doc/lispref/os.texi (Timers):
2601         * etc/NEWS:
2602         * lisp/emacs-lisp/timer-list.el:
2603         (timer-list-mode): Rename timer-list to list-timers.
2605 2017-09-19  Alan Third  <alan@idiocy.org>
2607         Provide native touchpad scrolling on macOS
2609         * etc/NEWS: Describe changes.
2610         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
2611         mouse-wheel-progressive-speed): Set to smarter values for macOS
2612         touchpads.
2613         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
2614         calculate scrolling for touchpads and mouse wheels.
2615         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
2616         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
2617         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
2618         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
2619         * lisp/mwheel.el (mwheel-scroll): Use line count.
2620         * lisp/subr.el (event-line-count): New function.
2622 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2624         Fix MinGW64 build broken by recent MinGW64 import libraries
2626         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
2627         MinGW64 import libraries require that.  (Bug#28493)
2629         * src/Makefile.in: Adjust commentary to the new order of w32
2630         libraries.
2632 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2634         Fix crashes in 'move-point-visually' in minibuffer windows
2636         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
2637         comparing against the last valid glyph_row of a window glyph
2638         matrix.  (Bug#28505)
2640 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2642         * src/emacs.c (usage_message): Don't mention 'find-file'.
2644 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2646         Fix a minor inaccuracy in the Emacs manual
2648         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
2649         'find-file', as the implementation has changed.  Reported by
2650         Everton J. Carpes <everton.carpes@gmail.com> in
2651         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
2653 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
2655         Fix errors in flyspell-post-command-hook
2657         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
2658         case of a nil Nth element of the language dictionary slot.  This
2659         avoids errors in 'flyspell-post-command-hook' when switching
2660         dictionaries with some spell-checkers.  (Bug#28501)
2662 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
2664         Work on Tramp's file-truename
2666         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
2667         Check also for symlinks.
2668         (tramp-sh-handle-file-truename): Move check for a symlink
2669         cycle to the end.  Do not blame symlinks which look like a
2670         remote file name.
2672         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
2674 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
2676         Fix bug with make-directory on MS-Windows root
2678         * lisp/files.el (files--ensure-directory): Treat any error, not
2679         just file-already-exists, as an opportunity to check whether DIR
2680         is already a directory (Bug#28508).
2682 2017-09-19  Tom Tromey  <tom@tromey.com>
2684         Fix log-view-diff-common when point is after last entry
2686         Bug#28466
2687         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
2688         entry, look at the previous revision.
2690 2017-09-18  Ken Brown  <kbrown@cornell.edu>
2692         Adapt fileio-tests--symlink-failure to Cygwin
2694         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
2695         [CYGWIN]: Skip the case of a symlink target starting with '\';
2696         this is treated specially on Cygwin.
2698 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
2700         Ignore buffers whose name begins with a space in save-some-buffers
2702         * lisp/files.el (save-some-buffers): Consider these buffers
2703           "internal", and don't prompt the user to save them.
2704         * doc/lispref/files.texi: Document.
2706 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2708         Improve tramp-interrupt-process robustness
2710         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
2711         process has disappeared.
2713 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2715         Minor Tramp doc update
2717         * doc/misc/tramp.texi (Frequently Asked Questions):
2718         Mention `vc-handled-backends'.
2720 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
2722         Fix gensym
2724         * lisp/subr.el (gensym): Actually implement the default prefix.
2725         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
2727 2017-09-18  Rasmus  <rasmus@gmx.us>
2729         Update Org to v9.1.1
2731         Please see etc/ORG-NEWS for major changes.
2733 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
2735         Cleanup in files-tests.el
2737         * test/lisp/files-tests.el (files-tests--make-directory)
2738         (files-tests--copy-directory): Cleanup temporary directories.
2740 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2742         Remove old cl-assert calls in 'newline'
2744         * lisp/simple.el (newline): Remove cl-assert calls
2745         that didn't seem to be helping us debug Bug#18913,
2746         and that caused problems as reported in Bug#28280.
2747         Suggested by Glenn Morris (Bug#28280#8).
2749 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2751         Avoid crash with C-g C-g in GC
2753         Problem reported by Richard Stallman (Bug#17406).
2754         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
2755         * src/term.c (tty_send_additional_strings):
2756         Use only safe accessors, to avoid crash when C-g C-g in GC.
2758 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2760         Fix format-time-string %Z bug with negative tz
2762         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
2763         numeric zone is negative (Bug#28746).
2764         * test/src/editfns-tests.el (format-time-string-with-zone):
2765         Add test for this bug.
2767 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2769         message-citation-line-format %Z is now tz name
2771         * etc/NEWS:
2772         * lisp/gnus/message.el (message-citation-line-format):
2773         Fix doc to match new behavior (Bug#28476).
2775 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
2777         Use doc-view or pdf-tools on any window-system
2779         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
2780         window-system.
2782 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2784         Fix bug with min and max and NaNs
2786         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
2787         mistakenly yielded 0.  Also, pacify GCC in a better way.
2788         * test/src/data-tests.el (data-tests-min): Test for the bug.
2790 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2792         Fix recently-introduced copy-directory bug
2794         Problem reported by Andrew Christianson (Bug#28451):
2795         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
2796         destination directory if it does not exist, even if it is a
2797         directory name.  Simplify, and omit unnecessary test for an
2798         already-existing non-directory target, since make-directory
2799         diagnoses that for us now.
2800         * test/lisp/files-tests.el (files-tests--copy-directory):
2801         Test for this bug.
2803 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2805         Merge from Gnulib
2807         This incorporates:
2808         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
2809         2017-09-13 all: Replace many more http URLs by https URLs
2810         * build-aux/config.guess, build-aux/config.sub:
2811         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
2812         * lib/allocator.h, lib/count-leading-zeros.h:
2813         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
2814         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
2815         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
2816         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
2817         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
2818         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
2819         Copy from Gnulib.
2820         * lib/gnulib.mk.in: Regenerate.
2822 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
2824         Fix compatibility problem in Tramp
2826         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
2828         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
2829         (top): Do not call `tramp-change-syntax' anymore.
2830         (tramp-compat-directory-name-p): New defalias.
2832         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
2833         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
2834         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
2835         (tramp-smb-handle-copy-file): Use it.
2837         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
2838         Modify test.
2840 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
2842         Avoid GCC 7 compilation warning in eval.c
2844         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
2845         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
2846         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
2848 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
2850         Adapt Tramp version.  Do not merge
2852         * doc/misc/trampver.texi:
2853         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
2854         (customize-package-emacs-version-alist): Add Tramp version
2855         integrated in Emacs 26.1.
2857 2017-09-17  Tom Tromey  <tom@tromey.com>
2859         Search for Syntax section when viewing MDN
2861         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
2862         "Syntax" section.
2864 2017-09-17  Tom Tromey  <tom@tromey.com>
2866         Allow smerge-keep-current to work for empty hunks
2868         Bug#25555
2869         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
2870         match-end.
2871         * test/lisp/vc/smerge-mode-tests.el: New file.
2873 2017-09-17  Tom Tromey  <tom@tromey.com>
2875         Call vc-setup-buffer in vc-git-log-{in,out}going
2877         Bug#28427:
2878         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
2879         vc-setup-buffer.
2881 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2883         Fix last change to textmodes/page-ext.el
2885         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
2886         while we build it (bug#28431).
2888 2017-09-16  Glenn Morris  <rgm@gnu.org>
2890         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
2892 2017-09-16  Glenn Morris  <rgm@gnu.org>
2894         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
2896         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
2898 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2900         Fix compilation warning in etags.c
2902         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
2903         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
2905 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
2907         Add lisp variable lcms-d65-xyz
2909         This serves as the default optional argument for functions in this
2910         library.
2911         * src/lcms.c (lcms-d65-xyz): New variable.
2912         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
2913         color1 -> color2.
2914         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
2915         (lcms-colorspacious-d65): New variable.
2917 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
2919         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
2921 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
2923         Avoid MinGW64 compiler warnings in unexw32.c
2925         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
2926         64-bit build.
2928 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2930         Start emacs-26 release branch
2932         * configure.ac:
2933         * nt/README.W32:
2934         * README:
2935         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
2937         * lisp/cus-edit.el (customize-changed-options-previous-release):
2938         Update value to "25.3".
2940 2017-09-16  Alan Mackenzie  <acm@muc.de>
2942         Cope better with C++ and Objective-C protection keywords in class declarations
2944         This fix fixes the fontification of a method inside a class at the time it is
2945         typed, when there is a protection keyword clause preceding it.
2947         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
2948         keywords.
2949         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
2950         clauses too eagerly.
2952         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
2953         lang defconsts and defvars.
2955         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
2956         keyword following a semicolon or brace, move forward over it before attempting
2957         to parse a type.
2959 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2961         Fix order of sorted overlays returned by 'overlays-at'
2963         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
2964         list of results, to have their order as per the documentation.
2965         (Bug#28390)
2967         * etc/NEWS: Mention the change in the behavior of overlays-at.
2969 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2971         Disable execution of unsafe Lisp by Enriched Text mode
2973         * src/xdisp.c (handle_display_spec): If the display property is
2974         wrapped in 'disable-eval' form, disable Lisp evaluation while
2975         processing this property.
2976         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
2977         If that argument is false, don't evaluate Lisp while processing
2978         display properties.
2980         * lisp/textmodes/enriched.el
2981         (enriched-allow-eval-in-display-props): New defcustom.
2982         (enriched-decode-display-prop): If
2983         enriched-allow-eval-in-display-props is nil, wrap the display
2984         property with 'disable-eval' to disable Lisp evaluation when the
2985         display property is processed for display.  (Bug#28350)
2986         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
2987         enriched text.
2989         * doc/lispref/display.texi (Display Property): Document the
2990         'disable-eval' wrapping of 'display' properties.
2991         * doc/emacs/text.texi (Enriched Properties): Document
2992         'enriched-allow-eval-in-display-props'.
2994         * etc/NEWS: Describe the security issues with Enriched Text mode
2995         and their solution.
2997 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
2999         Avoid MinGW64 compilation warning in w32.c
3001         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
3003 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
3005         Fix MS-Windows build broken by recent changes in lcms.c
3007         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
3008         and cmsxyY2XYZ function pointers.
3009         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
3010         cmsxyY2XYZ from liblcms2.
3011         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
3012         corresponding function pointers.
3013         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
3014         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
3016 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
3018         Avoid GCC 7 compilation warning in data.c
3020         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
3021         warnings.  Reported by Fabrice Popineau
3022         <fabrice.popineau@centralesupelec.fr>.
3024 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
3026         Add lcms-temp->white-point and initial tests
3028         * src/lcms.c (lcms-temp->white-point): New function.
3029         * test/src/lcms-tests.el: New file.
3031 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
3033         Use cl-print in timer list
3035         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
3036         for handling functions.
3037         (timer-list-mode): Capitalize major mode name.  Set bidi direction
3038         as in tabulated-list-mode.
3040 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
3042         Make landscape layout with geometry package rather than a PostScript special.
3044         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
3045         default class option.
3046         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
3047         request to `cal-tex-insert-preamble' function call within the
3048         class option string.
3049         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
3050         to `cal-tex-insert-preamble' function, as it is default.
3051         (cal-tex-insert-preamble): Suppress landscape and size
3052         argument, and replace them by a class-options string
3053         argument. Do not insert any longer "\special{landscape}" in
3054         case of landscape layout, as the job is made by the geometry
3055         package.
3057 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
3059         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
3061 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
3063         One more attempt to avoid GCC 7 warnings in dispnew.c
3065         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
3066         eassert, to avoid compilation warnings about NULL pointer
3067         dereferences.
3069 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
3071         Fix color-distance docstring
3073         Also feed the translated color to the metric argument.
3074         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
3075         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
3076         instead of the function's color arguments.
3078 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
3080         Improve Tramp behaviour according to bug#27986
3082         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
3083         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
3084         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
3085         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
3086         directory name when existing.  Use `file-name-as-directory'
3087         where appropriate.
3089 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
3091         More JSON optimization
3093         Last I checked, inlining json-skip-whitespace didn't make much
3094         difference.  However, changing defsubsts to define-inline results
3095         in roughly 15% reduction in read time on a 200K file.
3096         * lisp/json.el (json-advance, json-peek, json-pop):
3097         (json-skip-whitespace): Inline with define-inline.
3098         (json-read-keyword): Don't use whitespace syntax.
3099         (json-add-to-object): Simpler condition.
3101 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
3103         Avoid crashes due to invalid error forms from sentinels/filters
3105         * src/process.c (exec_sentinel_error_handler): Make sure the error
3106         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
3108 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
3110         Avoid compilation warnings with GCC 7 on MS-Windows
3112         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
3113         (w32_read_socket): Initialize variables to shut up bogus
3114         compilation warnings from GCC 7.
3115         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
3116         to avoid compiler warnings about printing signed values using %x
3117         format spec.
3118         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
3119         compiler warning about possible NULL pointer dereference.
3120         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
3122 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
3124         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
3126         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
3127         case only to avoid unused macros warning otherwise.
3129 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
3131         In w32heap.c bump up DUMPED_HEAP_SIZE
3133         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
3134         to 13*1024*1024 for 32-bit non-wide-integer builds.
3136 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
3138         Bind n,p in timer-list
3140         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
3141         to next- and previous-line, respectively.
3143 2017-09-14  Glenn Morris  <rgm@gnu.org>
3145         * lisp/net/tls.el (tls-program): Fix :version.
3147 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
3149         * configure.ac (--with-lcms2, --without-lcms2): New options.
3151 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
3153         Avoid 64-bit compilation warnings in unexw32.c
3155         * src/unexw32.c (pDWP): New macro.
3156         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
3157         pDWP for printing values that can be either 32-bit or 64-bit wide.
3159 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
3161         Fix warnings about formats in printf-like functions on MS-Windows
3163         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
3164         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
3165         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
3166         for the details.
3167         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
3168         definition specific to MinGW64.
3169         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
3170         __mingw_printf__ in ANSI-compatible mode.
3172 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
3174         Support lcms2 in MS-Windows builds
3176         * lisp/term/w32-win.el (dynamic-library-alist): Include
3177         association for the lcms2 library.
3179         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
3180         DEF_DLL_FN to define pointers to dynamically loaded lcms2
3181         functions.
3182         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
3183         (cmsCIECAM02Done): New macros.
3184         (init_lcms_functions, Flcms2_available_p): New functions.
3185         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
3186         init_lcms_functions.
3187         (syms_of_lcms2): Defsubr lcms2-available-p.
3188         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
3190         * configure.ac: Include lcms2 in the final report and in
3191         emacs_config_features.
3193         * nt/INSTALL:
3194         * nt/INSTALL.W64: Update with the information about lcms2 library.
3196 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
3198         Port renameat_noreplace to openSUSE 12.3
3200         Problem reported by M. Nomiya in:
3201         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
3202         * src/sysdep.c (renameat_noreplace):
3203         Call renameat2 only if CYGWIN.
3205 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
3207         Prefer HTTPS to FTP and HTTP in documentation
3209         Most of this change is to boilerplate commentary such as license URLs.
3210         This change was prompted by ftp://ftp.gnu.org's going-away party,
3211         planned for November.  Change these FTP URLs to https://ftp.gnu.org
3212         instead.  Make similar changes for URLs to other organizations moving
3213         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
3214         fsf.org when this works, as this will further help defend against
3215         man-in-the-middle attacks (for this part I omitted the MS-DOS and
3216         MS-Windows sources and the test tarballs to keep the workload down).
3217         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
3218         for now.
3220 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
3222         Prefer HTTPS to HTTP for gnu.org
3224         This patch just changes code files; a followup companion patch
3225         (much larger) will affect the commentary.  This part is
3226         separated out to make it easier to review.
3227         * .dir-locals.el (change-log-mode):
3228         * lisp/org/org-info.el (org-info-other-documents)
3229         (org-info-map-html-url):
3230         * lisp/org/ox-html.el (org-html-creator-string):
3231         * lisp/startup.el (fancy-startup-text, fancy-about-text)
3232         (fancy-splash-head):
3233         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
3234         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
3235         Use HTTPS instead of HTTP.
3237 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
3239         Add tests for color.el
3241         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
3242         docstrings that RGB triplets should use four digits per component.
3243         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
3244         warning.
3246         * test/lisp/color-tests.el: New file.
3248 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
3250         Make gnutls-verify-error work again with url-retrieve-synchronously
3252         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
3253         we're doing async connections (bug#26835).
3255         * lisp/url/url-parse.el (url): Add an asynchronous slot.
3257         * lisp/url/url.el (url-asynchronous): New variable.
3258         (url-retrieve-internal): Store the value.
3259         (url-retrieve-synchronously): Bind the variable.
3261 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
3263         Improve backward compatibility of tramp-tests
3265         * test/lisp/net/tramp-tests.el (seq): Don't require.
3266         (tramp--test-emacs26-p): New defun.
3267         (tramp-test10-write-region, tramp-test11-copy-file)
3268         (tramp-test12-rename-file, tramp-test15-copy-directory)
3269         (tramp-test21-file-links): Use it.
3270         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
3272 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
3274         * lisp/net/trampver.el (customize-package-emacs-version-alist):
3276         Add Tramp version integrated in Emacs 25.3.
3278 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3280         Add clarification to if-let* docstring
3282         Also make its behaviour consistent with and-let* in that empty bindings
3283         results in success, not failure.
3284         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
3286 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
3288         Make fully qualified domain names more fully qualified
3290         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
3291         system-name without any periods as a fully qualified domain name.
3293 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3295         Remove unused file lib/getopt_.h
3297         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
3298         on 2011-01-08, but I forgot to remove the old file.
3300 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3302         Remove "baroque" use of prefix argument from gensym
3304         'cl-gensym' was simply moved here, but let us take an opportunity to
3305         shed some historical baggage.
3306         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
3307         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
3308         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
3309         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
3311 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3313         Provide an lcms2 feature
3315         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
3317 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3319         Add lcms2 interface
3321         configure.ac: Add boilerplate for configuring and detecting liblcms2.
3322         etc/NEWS: Mention new configure option and color-distance change.
3323         src/Makefile.in: Add references to lcms.c and liblcms.
3324         src/emacs.c: Define lcms2 symbols.
3325         src/lcms.c: New file.
3326         src/lisp.h: Add declaration for lcms2.
3327         src/xfaces.c: Add optional METRIC argument.
3329 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3331         Add other D series white points and some simple conversions
3333         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
3334         constants.
3335         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
3336         (color-lch-to-lab): New functions.
3338 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
3340         Permit non-integral color gradients
3342         * lisp/color.el (color-gradient): Float the step-number.
3344 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
3346         Protect against malformed MIME messages that cause inf-loop (bugfix)
3348         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
3349         Protect against malformed MIME messages that cause inf-loop.
3351 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3353         Merge from Gnulib
3355         This incorporates:
3356         2017-09-13 all: prefer https: URLs
3357         This just changes http: to https: in comments,
3358         in files copied from Gnulib.
3360 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
3362         Call vc-resynch-buffer in vc-git-resolve-when-done
3364         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
3365         Call vc-resynch-buffer on the current file (bug#28121).
3366         Move its autoload to before this function.
3368 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
3370         Allow write-contents-functions to short-circuit buffer save
3372         Bug#28412
3374         * lisp/files.el (basic-save-buffer): Re-arrange function so that
3375           write-contents-functions are run earlier. If they return non-nil,
3376           consider the buffer saved without requiring the buffer to be
3377           visiting a file.
3378           (save-some-buffers): This function should consider any buffer with a
3379           buffer-local value for write-contents-functions eligible for
3380           saving.
3381         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
3382           test.
3383         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
3384         * etc/NEWS: And in NEWS.
3386 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3388         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
3390 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3392         Less chatter for ’make info/dir’
3394         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
3395         that an ordinary make says just "GEN info/dir" rather than
3396         also having a seemingly-unrelated mv line.
3398 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3400         Tweak Gnus doc re gnus-copy-file
3402         * doc/misc/gnus.texi (Saving Articles):
3403         Document behavior with directory name targets (Bug#27986).
3404         Problem reported by Katsumi Yamaoka in:
3405         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
3407 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3409         Update uses of if-let and when-let
3411         * lisp/dom.el (dom-previous-sibling):
3412         * lisp/emacs-lisp/package.el (package--with-work-buffer):
3413         (package--sort-deps-in-alist, package--sort-by-dependence):
3414         (package-install-from-archive, package-install):
3415         (package-menu-execute, package-menu--populate-new-package-list):
3416         * lisp/filenotify.el (file-notify--rm-descriptor):
3417         (file-notify--event-watched-file, file-notify--event-file-name):
3418         (file-notify--event-file1-name, file-notify-rm-watch):
3419         (file-notify-valid-p):
3420         * lisp/gnus/message.el (message-toggle-image-thumbnails):
3421         * lisp/gnus/nnimap.el (nnimap-request-move-article):
3422         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
3423         * lisp/mpc.el (mpc-format):
3424         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
3425         (eww-save-history):
3426         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
3427         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
3428         * lisp/svg.el (svg-remove):
3429         * lisp/textmodes/css-mode.el (css--named-color):
3430         (css--colon-inside-funcall):
3431         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
3432         (html-current-buffer-ids): Use if-let* and when-let* instead.
3434 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3436         Implement and-let*
3438         This also includes changes to if-let and when-let.  The single tuple
3439         special case is ambiguous, and binding a symbol to nil is not as
3440         useful as binding it to its value outside the lexical scope of the
3441         binding.  (Bug#28254)
3442         * etc/NEWS: Mention.
3443         * lisp/emacs-lisp/subr-x.el (internal--listify):
3444         (internal--build-binding-value-form): Extend to account for
3445         solitary symbols and (EXPR) items in binding varlist.
3446         (if-let*, when-let*): Nix single tuple case and incumbent
3447         bind-symbol-to-nil behavior.
3448         (and-let*): New macro.
3449         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
3450         they implicitly gain the new features without breaking existing code.
3451         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
3452         single-tuple special case, lack of binding solitary symbols to nil,
3453         and the introduction of uninterned symbols for (EXPR) bindings.  Add
3454         SRFI-2 test suite adapted to Elisp.
3456 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
3458         Fix minor typos in the Emacs manual
3460         * doc/emacs/text.texi (Org Organizer):
3461         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
3463 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3465         Merge Emacs 25.3 fixes
3467         The security patches released for Emacs 25.3 were less drastic
3468         than what we had immediately put into master.  Adjust master to
3469         match 25.3 (Bug#28350).
3470         * lisp/textmodes/enriched.el (enriched-translations):
3471         Re-enable FUNCTION and display translations that are safe.
3472         (enriched-handle-display-prop): Bring back.
3473         (enriched-decode-display-prop): Bring back, but disable
3474         the unsafe part.
3476 2017-09-12  Alan Mackenzie  <acm@muc.de>
3478         Don't match C++ template delims starting within a token.  FIxes bug #28418.
3480         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
3481         attempted match from the start of a token (in particular, "<<"), move to the
3482         next token rather than the nex character before searching for the next "<".
3484 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3486         Move gensym to core Elisp
3488         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
3489         after make-symbol.
3490         * etc/NEWS: Mention.
3491         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
3492         gensym-counter.
3493         (cl-gensym): Alias to gensym.
3494         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
3495         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
3496         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
3497         (ert--expand-should-1, ert--expand-should):
3498         (ert--should-error-handle-error):
3499         * lisp/emacs-lisp/generator.el (cps--gensym):
3500         * lisp/emacs-lisp/gv.el (setf):
3501         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
3502         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
3503         (pcase--funcall, pcase--u1): Use gensym.
3504         * lisp/subr.el (gensym-counter): New variable.
3505         (gensym): New function, assimilated from cl-lib.
3507 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3509         Fix cl-gentemp
3511         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
3512         (cl-gentemp): Use it.  Change prefix to "T".
3514 2017-09-12  Sam Steingold  <sds@gnu.org>
3516         gnus-score-file-name: Do not append empty suffix.
3518 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
3520         Extend tramp-tests according to bug#27986
3522         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
3523         (tramp-test12-rename-file, tramp-test15-copy-directory)
3524         (tramp-test21-file-links): Extend tests.
3525         (tramp-test13-make-directory, tramp-test14-delete-directory):
3526         Specifiy error symbol in `should-error'.
3528 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3530         Add cl-print method for hash tables
3532         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
3534 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
3536         Add docstrings to cl-print entry points
3538         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
3539         (cl-prin1, cl-prin1-to-string): Add docstrings.
3541 2017-09-12  Glenn Morris  <rgm@gnu.org>
3543         Improve reproducibility of generated leim-list.el
3545         * lisp/international/quail.el (quail-update-leim-list-file):
3546         Sort the quail directory listing, for more stable output.
3548 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
3550         Include sxhash of object with printed bytecode
3552         This printing, while succint, is rather opaque.  At least give an
3553         immediate clue of whether different byte code printouts are for the
3554         same or different byte code objects.
3555         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
3556         printed token "#<bytecode>".
3558 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3560         Update documentation of 'max-lisp-eval-depth'
3562         * doc/lispref/eval.texi (Eval): Update the documented default
3563         value of 'max-lisp-eval-depth'.
3565 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3567         Another place to produce debugging output in etags
3569         * lib-src/etags.c (Ruby_functions): One more place to print
3570         debugging output under --debug.
3572 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
3574         Improve documentation of etags-related features
3576         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
3577         'xref-prompt-for-identifier'.  (Bug#28403)
3578         (Etags Regexps): Document \D back references in etags regexps.
3580 2017-09-11  Alan Third  <alan@idiocy.org>
3582         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
3584         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
3585         Change macOS compatibility from 10.9 to 10.10.
3587 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
3589         Further optimization in Tramp's file name decomposition
3591         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
3592         components.  Call `custom-set-variables' after loading.
3593         (tramp-build-prefix-format, tramp-build-prefix-regexp)
3594         (tramp-build-method-regexp)
3595         (tramp-build-postfix-method-format)
3596         (tramp-build-postfix-method-regexp)
3597         (tramp-build-prefix-ipv6-format)
3598         (tramp-build-prefix-ipv6-regexp)
3599         (tramp-build-postfix-ipv6-format)
3600         (tramp-build-postfix-ipv6-regexp)
3601         (tramp-build-postfix-host-format)
3602         (tramp-build-postfix-host-regexp)
3603         (tramp-build-file-name-regexp)
3604         (tramp-build-completion-file-name-regexp): New defuns.
3605         (tramp-prefix-format, tramp-prefix-regexp)
3606         (tramp-method-regexp, tramp-postfix-method-format)
3607         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
3608         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
3609         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
3610         (tramp-postfix-host-regexp)
3611         (tramp-remote-file-name-spec-regexp)
3612         (tramp-file-name-structure, tramp-file-name-regexp)
3613         (tramp-completion-file-name-regexp): Convert defuns into defvars.
3614         (tramp-prefix-regexp-alist)
3615         (tramp-postfix-method-regexp-alist)
3616         (tramp-prefix-ipv6-regexp-alist)
3617         (tramp-postfix-ipv6-regexp-alist)
3618         (tramp-postfix-host-regexp-alist)
3619         (tramp-remote-file-name-spec-regexp-alist): Remove.
3620         (tramp-build-remote-file-name-spec-regexp)
3621         (tramp-build-file-name-structure): Simplify.
3622         (tramp-completion-file-name-regexp-alist): New defconst.
3623         (tramp-tramp-file-p, tramp-dissect-file-name)
3624         (tramp-make-tramp-file-name)
3625         (tramp-completion-make-tramp-file-name)
3626         (tramp-rfn-eshadow-update-overlay-regexp)
3627         (tramp-register-file-name-handlers)
3628         (tramp-completion-handle-file-name-all-completions)
3629         (tramp-completion-dissect-file-name, tramp-clear-passwd):
3630         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
3631         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
3632         (tramp-compute-multi-hops): Use variables but functions for
3633         file name components.
3635         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
3636         Use variables but functions for file name components.
3638 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3640         Port tramp-tests to new copy-directory behavior
3642         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
3643         Use directory name as arg for copy-directory when we want
3644         the special behavior.
3646 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3648         Adjust thumbs to new rename-file behavior
3650         * etc/NEWS: Mention this.
3651         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
3652         as special only if it is a directory name.  When there is
3653         a marked list, turn the destination into a directory name
3654         if it is not already.
3656 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3658         Adjust ob-tangle to new copy-file behavior
3660         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
3661         Port to new copy-file behavior.
3663 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3665         Make gnus-copy-file act like copy-file etc.
3667         * etc/NEWS: Mention this.
3668         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
3669         as special only if it is a directory name.
3671 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3673         Make write-file act like copy-file etc.
3675         Change write-file to be consistent with the new behavior
3676         of copy-file, etc.
3677         * etc/NEWS: Mention this.
3678         * lisp/files.el (write-file): Treat the destination as special
3679         only if it is a directory name.
3681 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3683         Make copy-directory act like copy-file etc.
3685         Do the special dance with the destination only if it is a
3686         directory name, for consistency with copy-file etc. (Bug#27986).
3687         * doc/emacs/files.texi (Copying and Naming):
3688         * doc/lispref/files.texi (Create/Delete Dirs):
3689         * etc/NEWS: Document this.
3690         * lisp/files.el (copy-directory): Treat NEWNAME as special
3691         only if it is a directory name.
3693 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3695         Fix some make-directory bugs
3697         * lisp/files.el (files--ensure-directory): New function.
3698         (make-directory): Use it to avoid bugs when (make-directory FOO t)
3699         is invoked on a non-directory, or on a directory hierarchy that
3700         is being built by some other process while Emacs is running.
3701         * test/lisp/files-tests.el (files-tests--make-directory): New test.
3703 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
3705         Fix race with rename-file etc. with dir NEWNAME
3707         This changes the behavior of rename-file etc. slightly.
3708         The old behavior mostly disagreed with the documentation, and had
3709         a race condition bug that could allow attackers to modify victims'
3710         write-protected directories (Bug#27986).
3711         * doc/lispref/files.texi (Changing Files): Document that in
3712         rename-file etc., NEWFILE is special if it is a directory name.
3713         * etc/NEWS: Document the change in behavior.
3714         * src/fileio.c (directory_like): Remove.  All uses removed.
3715         (expand_cp_target): Test only whether NEWNAME is a directory name,
3716         not whether it is currently a directory.  This avoids a race.
3717         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
3718         Document behavior if NEWNAME is a directory name.
3719         (Frename_file): Simplify now that the destdir behavior occurs
3720         only when NEWNAME is a directory name.
3721         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
3722         (tramp-test12-rename-file, tramp--test-check-files):
3723         Adjust tests to match new behavior.
3725 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3727         Extend --debug printouts in etags
3729         * lib-src/etags.c (regex_tag_multiline, readline): Under
3730         "--debug", print tags found via regexps.
3732 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3734         Add --debug option to etags
3736         * lib-src/etags.c (make_tag): Print found tags under --debug.
3737         (longopts): Add --debug.
3739 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3741         Spelling fixes
3743         * lisp/progmodes/cc-langs.el:
3744         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
3745         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
3747 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3749         Merge from gnulib
3751         This incorporates:
3752         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
3753         2017-08-24 warnings: fix compilation with old autoconf
3754         2017-08-23 glob: merge from glibc with Zanella glob changes
3755         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
3756         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
3757         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
3758         * m4/warnings.m4:
3759         Copy from Gnulib.
3760         * lib/gnulib.mk.in: Regenerate.
3762 2017-09-10  Ken Brown  <kbrown@cornell.edu>
3764         Implement renameat_noreplace on recent Cygwin
3766         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
3767         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
3768         (Bug#27986)
3770 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
3772         Avoid warnings about file names in autoloads on MS-Windows
3774         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
3775         avoid warnings from find-file-noselect when making autoloads.  For
3776         the details, see
3777         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
3779 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
3781         Avoid looking at localized strings
3783         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
3784         localized strings.
3785         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
3786         parsing l10n strings doesn't error but is essentially a no-op.
3788 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3790         * etc/NEWS.25: Document 25.3 changes.
3792 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
3794         Remove unsafe enriched mode translations
3796         * lisp/gnus/mm-view.el (mm-inline-text):
3797         Do not worry about enriched or richtext type.
3798         * lisp/textmodes/enriched.el (enriched-translations):
3799         Remove translations for FUNCTION, display (Bug#28350).
3800         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
3802 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3804         Be more consistent about "directory name" in manual
3806         This clarifies the documentation, partly in response to the
3807         discussion in Bug#27986.
3809 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3811         Remove more compilation warnings in MinGW64 build
3813         * src/w32.c (faccessat, map_w32_filename):
3814         * src/w32fns.c (w32_wnd_proc):
3815         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
3816         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
3817         warnings with GCC 7 and later.
3819 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3821         Improve --enable-gcc-warnings for MinGW64
3823         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
3824         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
3825         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
3826         * lib-src/etags.c (process_file_name, TeX_commands):
3827         * src/buffer.c (fix_overlays_before):
3828         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3829         (cons_to_signed):
3830         * src/editfns.c (Ftranslate_region_internal):
3831         Prefer UNINIT to some stray value, as this simplifies
3832         code-reading later.
3833         * src/eval.c (CACHEABLE): New macro.
3834         (internal_lisp_condition_case): Use it.
3835         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
3837 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3839         Fix font-lock in Compilation mode
3841         * lisp/progmodes/compile.el (compilation-face): Restore function
3842         lost during recent changes.  (Bug#28349)
3844 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
3846         Add function to read all entries in a group
3848         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
3849         entries in all groups were read and returned by xdg-desktop-read-file.
3850         * lisp/xdg.el (xdg-desktop-read-group): New function.
3851         (xdg-desktop-read-file): Use it.
3852         * test/data/xdg/malformed.desktop: New file.
3853         * test/data/xdg/test.desktop: Add another section.
3854         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
3855         in another group.  Test reading a prescribed group.  Test detecting a
3856         malformed key=value.
3858 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
3860         Reduce Tramp's memory usage
3862         Construct Tramp syntax strings and regular expressions once instead
3863         of every time they are used, and store them in alists keyed by Tramp
3864         syntax.
3865         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
3866         (tramp-build-file-name-structure): New functions.
3867         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
3868         (tramp-method-regexp-alist)
3869         (tramp-postfix-method-format-alist)
3870         (tramp-postfix-method-regexp-alist)
3871         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
3872         (tramp-postfix-ipv6-format-alist)
3873         (tramp-postfix-ipv6-regexp-alist)
3874         (tramp-postfix-host-format-alist)
3875         (tramp-postfix-host-regexp-alist)
3876         (tramp-remote-file-name-spec-regexp-alist)
3877         (tramp-file-name-structure-alist): New constants.
3878         (tramp-lookup-syntax): New function.
3879         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
3880         (tramp-postfix-method-format, tramp-postfix-method-regexp)
3881         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
3882         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
3883         (tramp-postfix-host-format, tramp-postfix-host-regexp)
3884         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
3885         Use it.
3887 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3889         Fix compilation warnings in MinGW64 build using GCC 7
3891         Reported by Richard Copley <rcopley@gmail.com>.
3892         * src/w32heap.c (init_heap): Declare enable_lfh only for
3893         mingw.org's MinGW build.
3895         * src/w32console.c (w32con_write_glyphs):
3896         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
3897         mismatches of data type vs format spec.
3899         * src/w32fns.c (compute_tip_xy):
3900         * src/w32proc.c (stop_timer_thread):
3901         * src/w32notify.c (remove_watch):
3902         * src/eval.c (internal_lisp_condition_case):
3903         * src/editfns.c (Ftranslate_region_internal):
3904         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3905         (cons_to_signed):
3906         * src/buffer.c (fix_overlays_before): Initialize variables to
3907         avoid compiler warnings.
3909         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
3910         variables to avoid compilation warnings.
3912 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
3914         Avoid infloop when scrolling under scroll-preserve-screen-position
3916         * src/window.c (window_scroll_pixel_based): If screen position is
3917         to be preserved, make sure its recorded Y coordinate is outside
3918         the scroll margin.  (Bug#28342)
3920 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
3922         Clarification in tramp-texi
3924         * doc/misc/tramp.texi (Connection caching): Two connections are
3925         regarded as different now when they differ in the port number only.
3927 2017-09-09  Miles Bader  <miles@gnu.org>
3929         * admin/quick-install-emacs: Tweak configure.ac parsing
3931 2017-09-09  Miles Bader  <miles@gnu.org>
3933         Use text-property buttons in rcirc-markup-urls
3935         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
3936         instead of `make-button'; the former is much more efficient in large
3937         buffers, and for the purposes of rcirc, changes no functionality.
3939 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3941         Fix line-pixel-height for lines of variable height
3943         * src/xdisp.c (Fline_pixel_height): Start moving from the
3944         beginning of the screen line, to capture the full metrics of the
3945         line.  (Bug#28391)
3947 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
3949         New variable 'dired-confirm-killing-deleted-buffers'
3951         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
3952         New variable.
3953         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
3954         visiting deleted files without confirming if
3955         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
3956         * etc/NEWS: Document the change.
3958 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
3960         Support SVN files with svn:externals property
3962         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
3963         marked with the svn:externals property.
3965 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
3967         List locally removed files in vc-dir with SVN back-end
3969         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
3970         with ?! as needs-update.
3972 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
3974         Fix Rmail editing with reapplying encoding to message body
3976         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
3977         content-type in edited headers, look for one in original
3978         headers and add it to edited headers.  (Bug #26918)
3979         Use a marker to track start of new body, so that
3980         content-transfer-encoding gets applied only to body.  (Bug #27353).
3981         Ensure blank line at end of message after encoding, not
3982         before.
3984 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
3986         Document last change in dired.el
3988         * etc/NEWS (Dired): Document the last change in dired.el.
3989         (Bug#27435)
3991 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3993         Make mouse clicks in Dired more customizable
3995         * lisp/dired.el (dired-mouse-find-file): Allow callers to
3996         specify functions to visit file/directory.
3997         (dired-mouse-find-file-other-window)
3998         (dired-mouse-find-file-other-frame): New functions to visit
3999         files in another window/frame.  (Bug#27435)
4001 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
4003         Avoid compiler warnings on MS-Windows with GCC 6 and 7
4005         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
4006         bit-shifting, to avoid compiler warnings.
4007         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
4008         a warning.  For details of the warning, see
4009         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
4010         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
4011         in that build.
4012         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
4013         function is not used in that build.
4015         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
4017 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
4019         Fix 'directory-file-name' on DOS_NT systems as well
4021         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
4022         to be consistent with last change.
4024         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
4025         Disable on MS-Windows.
4026         (fileio-tests--directory-file-name-dos-nt)
4027         (fileio-tests--file-name-as-directory-dos-nt): New tests.
4029 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
4031         Fix various verilog-mode.el issues.
4033         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
4034         "*/*", msg2284. Reported by Jonathan Ferguson.
4035         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
4036         by Victor Lau.
4037         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
4038         verilog-substitute-file-name-path): Support -F in verilog getopt files,
4039         bug1171. Reported by George Cuan.
4040         (verilog-do-indent): Fix misindenting symbols starting with t,
4041         bug1169. Reported by Hoai Tran.
4042         (verilog-read-auto-template-middle): Fix slow template matching on
4043         AUTOINST. Reported by Jeffrey Huynh.
4044         (verilog-pretty-expr): The extra whitespace addition before "=" operators
4045         is now done only if the whole assignment block contains the 2-character
4046         "<=" operator.  Remove the unused argument _myre.  Use `unless',
4047         `save-excursion' and `when' functions where possible.  Internal variables
4048         refactored for clarity.  Follow elisp convention for closing parentheses.
4049         By Kaushal Modi.
4050         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
4051         refactored for clarity.  Earlier EDPOS argument was expected to be a
4052         marker; it is now renamed to END and is now expected to be a position.
4053         Use `when' instead of `if'.  By Kaushal Modi.
4054         (electric-verilog-terminate-line): Remove the unused second argument from
4055         `verilog-pretty-expr' call.  By Kaushal Modi.
4056         (verilog-calc-1): Fix indentation of a virtual class definition after a
4057         typedef class, bug1080.  By Kaushal Modi.
4059 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
4061         Don't use summary window to visit group buffer (bugfix)
4063         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
4064         the window to open the group buffer doesn't visit the summary buffer.
4065         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
4066         by trying to select nonexistent summary window.
4068 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4070         Fix bug: (directory-file-name "///") returned "//"
4072         * src/fileio.c (directory_file_name): For "///" and longer,
4073         return "/", not "//", as per POSIX.
4074         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
4075         (fileio-tests--file-name-as-directory): New tests.
4077 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4079         Remove obsolete vc-mistrust-permissions doc
4081         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
4082         for vc-mistrust-permissions, which no longer exists.
4084 2017-09-07  Alan Third  <alan@idiocy.org>
4086         Set frame size to actual requested size (bug#18215)
4088         * src/nsterm.m (x_set_window_size): Don't use
4089         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
4091 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
4093         autogen.sh: omit bogus chatter if no .git
4095         Problem reported by Angelo Graziosi in:
4096         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
4097         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
4099 2017-09-07  Glenn Morris  <rgm@gnu.org>
4101         Skip emacsclient tests if --enable-profiling was used
4103         * test/lib-src/emacsclient-tests.el
4104         (emacsclient-test-call-emacsclient): Make it a macro.
4105         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
4106         (emacsclient-test-alternate-editor-allows-arguments)
4107         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
4109 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
4111         Fix a minor markup problem in ELisp manual
4113         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
4114         @example and @group.  For the details, see
4115         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
4117 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
4119         Add XDG desktop file parsing and tests
4121         * lisp/xdg.el: Add support for Desktop Entry Specification.
4122         (xdg--user-dirs-parse-line): Check if file is readable.
4123         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
4124         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
4125         New functions.
4126         * test/lisp/xdg-tests.el:
4127         * test/data/xdg/test.desktop:
4128         * test/data/xdg/wrong.desktop: New files.
4130 2017-09-06  Glenn Morris  <rgm@gnu.org>
4132         Allow for adjusting line length of test backtraces
4134         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
4135         (%.log): Respect backtrace line length.
4137 2017-09-06  Glenn Morris  <rgm@gnu.org>
4139         Allow customizing line length of ert backtraces in batch mode
4141         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
4142         Make it a user option.
4143         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
4145 2017-09-06  Glenn Morris  <rgm@gnu.org>
4147         Minor emacsclient-tests simplification
4149         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
4150         Simplify.  Also work when running installed.
4152 2017-09-06  Alan Third  <alan@idiocy.org>
4154         Revert "Force screen update after drawing cursor glyph (bug#23774)"
4156         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
4158         See bug#28358
4160 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
4162         Refactor some loops in mailcap.el
4164         * lisp/net/mailcap.el (mailcap-mime-types):
4165         (mailcap-file-default-commands): Convert nested maps to loops.
4167 2017-09-05  Glenn Morris  <rgm@gnu.org>
4169         emacsclient-tests: remove some debug statements
4171         * test/lib-src/emacsclient-tests.el
4172         (emacsclient-test-call-emacsclient): Remove debug statements.
4174 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
4176         Handle non-zero exit status from psql more gracefully
4178         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
4179         exit statuses from `psql -ltX' more gracefully by returning nil.
4181         * test/lisp/progmodes/sql-tests.el
4182         (sql-tests-postgres-list-databases-error): New test.
4184 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
4186         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
4188         * src/w32proc.c (sys_kill): Preserve the up/down state of the
4189         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
4191 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
4193         * src/image.c (Fimagemagick_types): Doc fix.
4195 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
4197         Move soundex.el test to a proper test
4199         * test/lisp/soundex-tests.el: New file.
4200         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
4202 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
4204         Add tests for mailcap.el
4206         * test/data/mailcap/mime.types: New file.
4207         * test/lisp/net/mailcap-tests.el: New file.
4209 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
4211         Doc precisment about remote link targets
4213         * doc/lispref/files.texi (Truenames): Explain handling of
4214         targets of `file-truename' and `make-symbolic-link', which
4215         look like a remote file name.
4217         * etc/NEWS: Precise examples for symlinks which look like
4218         remote file names.  MUSTBENEW of `write-region' is not
4219         propagated to file name handlers.
4221 2017-09-05  John Wiegley  <johnw@newartisans.com>
4223         Remove an opinionated section on "What Eshell is not"
4225         I don't find this information to accurately reflect possible use cases
4226         for Eshell; plus, it doesn't offer much in the way of information,
4227         just opinion.
4229 2017-09-05  Ken Brown  <kbrown@cornell.edu>
4231         Fix configure test for Xpm
4233         Problem reported by Ashish Shukla in
4234         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
4235         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
4236         noX/xpm.h in configure test.
4238 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
4240         Revert recent float→double Motif change
4242         Problem reported by Martin Rudalics in:
4243         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
4244         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
4245         (x_set_toolkit_scroll_bar_thumb)
4246         (x_set_toolkit_horizontal_scroll_bar_thumb):
4247         Go back to using ‘float’ temporaries rather than ‘double’.
4248         Although quite possibly this masks an underlying bug,
4249         we lack time to look into that now.
4251 2017-09-04  Glenn Morris  <rgm@gnu.org>
4253         emacsclient-tests: add some debug statements
4255         * test/lib-src/emacsclient-tests.el
4256         (emacsclient-test-call-emacsclient): Add debug statements.
4258 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
4260         Work on Tramp's (symbolic) links
4262         * doc/misc/tramp.texi (Traces and Profiles): Mention the
4263         backtrace when tramp-verbose is greater than or equal to 10.
4265         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
4266         Use `tramp-handle-add-name-to-file'.
4268         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
4269         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
4271         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
4273         * lisp/net/tramp-smb.el (tramp-smb-errors):
4274         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
4275         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
4276         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
4277         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
4278         if one of the attributes is non-nil.
4279         (tramp-smb-handle-file-local-copy): Use `file-truename'.
4280         (tramp-smb-handle-file-truename): Move to tramp.el.
4281         (tramp-smb-handle-insert-directory): Show symlinks.
4282         (tramp-smb-handle-make-symbolic-link): Improve.
4283         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
4285         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
4286         (tramp-handle-file-truename): New defuns.
4288         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
4289         (tramp--test-check-files): Make check for "smb".
4291 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
4293         Embed JSON readtable into json-read
4295         Also unroll dispatch into a cond.
4296         * lisp/json.el (json-readtable): Remove.
4297         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
4298         (json-read): Use the macro.
4300 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
4302         Hexify strings in EWW search queries
4304         Previously, inputting "cats & dogs" would lose dogs because the
4305         ampersand signifies a query parameter.  Instead, hexify each word while
4306         preserving quotes with split-string.
4307         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
4308         with + separators, instead of replacing whitespace with +.
4310 2017-09-03  Glenn Morris  <rgm@gnu.org>
4312         emacsclient-tests: call-process may return non-integer
4314         * test/lib-src/emacsclient-tests.el
4315         (emacsclient-test-alternate-editor-allows-arguments)
4316         (emacsclient-test-alternate-editor-allows-quotes):
4317         Handle non-integer return from call-process.
4319 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
4321         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
4323 2017-09-03  Alan Third  <alan@idiocy.org>
4325         Force screen update after drawing cursor glyph (bug#23774)
4327         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
4328         drawing the glyph over the cursor.
4330 2017-09-03  Alan Mackenzie  <acm@muc.de>
4332         Correct the fontification of quote marks after buffer changes in CC Mode.
4334         * lisp/progmodes/cc-defs.el
4335         (c-search-forward-char-property-with-value-on-char): New macro.
4337         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
4338         (c-parse-quotes-after-change): Rewrite the functions, simplifying
4339         considerably, and removing unnecessary optimizations.
4340         Invalidate two caches after manipulating text properties.
4342 2017-09-03  Alan Mackenzie  <acm@muc.de>
4344         Fix fontification of "operator~" in C++ Mode.
4346         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
4347         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
4349         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
4350         two other symbols) as a cast without good evidence.  Prefer an overloaded
4351         operator in ambiguous cases.
4353 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
4355         In delete_frame do not delete terminal for any toolkit build
4357         * src/frame.c (delete_frame): Neither delete terminal for
4358         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
4359         Bug#27816).
4361 2017-09-02  Philipp Stephani  <phst@google.com>
4363         Improve error messages for improper plists (Bug#27726)
4365         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
4366         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
4367         improper plists instead of ‘listp.’
4369         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
4370         (lax-plist-get/odd-number-of-elements)
4371         (plist-put/odd-number-of-elements)
4372         (lax-plist-put/odd-number-of-elements)
4373         (plist-member/improper-list): Add unit tests.
4375 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
4377         Fix decrypting in plstore.el on MS-Windows
4379         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
4380         raw-text, instead of using insert-file-contents-literally.
4381         (Bug#28114)
4383 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
4385         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
4387 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
4389         Rewrite Antinews for Emacs 26
4391         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
4392         * doc/lispref/elisp.texi (Top): Update the top-level menu's
4393         Antinews entry.
4394         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
4395         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
4396         entry.
4398         * etc/NEWS: Rearrange some entries in a more reasonable order.
4400 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
4402         Fix a mis-binding in a test
4404         * test/lisp/progmodes/python-tests.el
4405         (python-shell-calculate-process-environment-3): Fix binding of
4406         process-environment.  A level of parens was missing.
4408         This was found after Glenn Morris noticed a similar problem with the
4409         patch for Bug#28319.
4411 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
4413         Fix a mis-binding and a bad defun name in a test (Bug#28319)
4415         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
4416         emacsclient-test-call-emacsclient.
4417         (emacsclient-test-alternate-editor-allows-arguments)
4418         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
4419         process-environment.
4421         Thanks to Glenn Morris for noticing these errors.
4423 2017-09-02  Glenn Morris  <rgm@gnu.org>
4425         * test/Makefile.in (check-no-automated-subdir): Silence by default.
4427         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
4429 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
4431         Turn off checkdoc complaint about default argument order
4433         * etc/NEWS: Mention change.
4434         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
4435         Disable by default, note version.
4437 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
4439         Stop emacsclient tests hanging (Bug#28319)
4441         * test/lib-src/emacsclient-tests.el
4442         (emacsclient-test-alternate-editor-allows-arguments): Use a
4443         non-existent file to communicate with server, so that any existing
4444         default server will not be hijacked (in fact, the test does
4445         not need a server).
4446         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
4448 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4450         * lisp/obsolete/html2text.el: Don't require CL
4452         (html2text-clean-anchor): Mark unused arg.
4454 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
4456         Don't remove undisplayers from inlined MIME parts (bugfix)
4458         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
4459         Don't remove undisplayers from inlined MIME parts (bugfix);
4460         Simplify criterion that finds attachments.
4462 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
4464         Make ucs-names a hash table (Bug#28302)
4466         * etc/NEWS: Mention the type change.
4467         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
4468         Hardcode BEL's name into the function instead of needlessly mapping
4469         over the hash table in the spirit of rassoc.
4470         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
4471         function docstrings.  Initialize a hash table for ucs-names--the
4472         number of entries is 42845 here.  Switch to hash-table
4473         getters/setters.
4474         (mule--ucs-names-annotation): Use hash-table getter.
4475         (char-from-name): Upcase the string if ignore-case is truthy.
4476         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
4478 2017-08-31  Alan Third  <alan@idiocy.org>
4480         Remove unneeded version checks (bug#28222)
4482         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
4483         check.
4484         * src/macfont.m (macfont_draw): Remove version check, and test for
4485         existence of CGContextSetFontSmoothingStyle.
4487 2017-08-31  Alan Mackenzie  <acm@muc.de>
4489         Fix a glitch in CC Mode's syntactic whitespace cache.
4491         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
4492         comment close at the end of a macro.
4494 2017-08-31  Alan Mackenzie  <acm@muc.de>
4496         Correct the fontification of C++ Mode enclosed declarations.
4498         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
4499         spurious check that the character before the start of an enclosed declaration
4500         must be ; or }.  It might also be {.
4502 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
4504         In xterm.c fix some recently introduced compiler warnings
4506         * src/xterm.c (xaw_jump_callback)
4507         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
4508         -Wdouble-promotion warnings.
4510 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
4512         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
4514         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
4515         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
4516         react to state changes received via ConfigureNotify.
4518 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
4520         Respect directory a user enters (bug#28299)
4522         * lisp/gnus/mm-decode.el (mm-save-part):
4523         Respect directory a user enters (bug#28299).
4525 2017-08-31  Samuel Freilich  <sfreilich@google.com>
4527         Do not split line before width of fill-prefix
4529         When auto-filling a paragraph, don't split a line before the width of the
4530         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
4531         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
4532         the line than the width of the fill-prefix.  This is a more general solution
4533         than the previous logic, which only skipped over the exact fill-prefix.  The
4534         fill-prefix doesn't necessarily match the prefix of the first line of a
4535         paragraph in adaptive-fill-mode.
4537 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
4539         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
4541         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
4542         Consider any documentation that ended up in code as a docstring (e.g.,
4543         autogenerated (fn ARG1 ARG2) type things), not just what the user
4544         passed.
4546 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
4548         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
4550         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
4551         to drop the docstring.  Add a simple docstring to the compiler-macro.
4553 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4555         Quote file-truename symlink to "../foo:bar:"
4557         Problem reported by Michael Albinus (Bug#28264#19).
4558         * lisp/files.el (files--splice-dirname-file): Fix bug where
4559         a relative symlink to "../foo:bar:" did not quote the result.
4561 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
4563         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
4565         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
4566         corresponding command-line argument, into quote- or space-separated
4567         tokens.  If a token starts with a quote, then it naturally is expected
4568         to end with a quote; escaping is not supported. This is enough to cope
4569         with the typical case of requiring the initial path to be quoted,
4570         common on Windows where it may contain spaces.
4571         * etc/NEWS: Document.
4572         * doc/emacs/misc.texi: Likewise.
4573         * doc/man/emacsclient.1: Tweak to remove the implication that only an
4574         editor can be specified (the manual already mentions a “command”).
4575         Fix a small error where “EDITOR” is referred to rather than
4576         “ALTERNATE_EDITOR”.
4577         * test/lib-src/emacsclient-tests.el: Add tests.
4579 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4581         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
4583 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
4585         Correct "hide others" shortcut on macOS (bug#28215)
4587         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
4589 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
4591         Sync NEWS with the documentation
4593         * etc/NEWS: Mark entries according to documentation.
4595         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
4597 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
4599         Improve symlinks for Tramp
4601         * lisp/files.el (files--splice-dirname-file): Quote whole file.
4603         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
4604         Do not expand TARGET, it could be remote.
4605         (tramp-sh-handle-file-truename): Check for cyclic symlink also
4606         in case of readlink.  Quote result if it looks remote.
4607         (tramp-sh-handle-file-local-copy): Use `file-truename'.
4609         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
4610         (tramp-test09-insert-file-contents): Test also file missing.
4611         (tramp-test21-file-links): Extend test.
4613 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
4615         Preserve display's foreground color when clearing internal borders (Bug#28278)
4617         * src/xterm.c (x_after_update_window_line): Preserve display's
4618         foreground color when clearing internal borders (Bug#28278).
4620 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
4622         Use cl-print for all values printed by `describe-variable'
4624         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
4625         global values too.
4627 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
4629         Minor simplification for byte-compile-constant-push
4631         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
4632         of the code from here...
4633         (byte-compile-constant-push): ... to here.  No need to bind
4634         byte-compile--for-effect anymore.
4636 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4638         Prefer file-name-quote to concat "/:"
4640         Suggested by Michael Albinus (Bug#28264#13).
4641         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
4642         rather than attempting to do it by hand.
4644 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4646         * configure.ac: fix typo in previous change
4648 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4650         Be more conservative in link time optimization doc
4652         While testing --enable-link-time-optimization with GCC 7.1.1
4653         I ran into a serious GCC code-generation bug which makes me
4654         think that --enable-link-time-optimization should be
4655         discouraged for typical installs (Bug#28213).  See:
4656         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
4658 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4660         Make garbage collection more conservative
4662         Check for a pointer anywhere within the object, as opposed to just
4663         the start of the object.  This is needed for gcc -Os -flto on
4664         x86-64 (Bug#28213).  This change means that the garbage collector
4665         is more conservative, and will incorrectly keep objects that it
4666         does not need to, but that is better than incorrectly discarding
4667         objects that should be kept.
4668         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
4669         this is easier to debug.
4670         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
4671         Now a function with two args, not a macro with three.
4672         All callers changed.
4673         (live_string_holding, live_cons_holding, live_symbol_holding)
4674         (live_misc_holding, live_vector_holding, live_buffer_holding):
4675         New functions, which check for any object containing the addressed
4676         byte, not just for an object at the given address.
4677         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
4678         (live_vector_p, live_buffer_p):
4679         Redefine in terms of the new functions.
4680         (live_float_p): Refactor slightly to match the new functions.
4681         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
4682         Don’t bother checking mark bits, as mark_object already does that,
4683         and omitting the checks here simplifies the code.  Although
4684         mark_maybe_object can continue to insist that tagged pointers
4685         still address the start of the object, mark_maybe_pointer now is
4686         more conservative and checks for pointers anywhere into an object.
4688 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4690         Improve stack-top heuristic
4692         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
4693         of the stack when scanning for heap roots, causing Emacs to crash
4694         later (Bug#28213).  The problem is that Emacs's hack for getting an
4695         address near the stack top does not work when link-time optimization
4696         moves stack variables around.
4697         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
4698         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
4699         (write_globals, scan_c_stream): Support noinline.
4700         * src/alloc.c (NEAR_STACK_TOP): New macro.
4701         (SET_STACK_TOP_ADDRESS): Use it.
4702         (flush_stack_call_func, Fgarbage_collect): Now noinline.
4704 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4706         Align stack bottom properly.
4708         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
4709         * src/emacs.c (main): Align stack-bottom variable as a pointer,
4710         since mark_memory requires this.
4712 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4714         Avoid spinning waiting for git-gui.exe on Windows
4716         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
4717         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
4718         process exited.  (Bug#28268)
4720 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4722         Document '--module-assertions'
4724         * doc/emacs/cmdargs.texi (Initial Options): Document the
4725         '--module-assertions' command-line option.
4726         * doc/lispref/loading.texi (Dynamic Modules): Add a
4727         cross-reference to the description of '--module-assertions'.
4729         * etc/NEWS: Update the NEWS entry for --module-assertions.
4731 2017-08-29  Alan Third  <alan@idiocy.org>
4733         Add news entry about new macOS features
4735         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
4736         ns-use-thin-smoothing.
4738 2017-08-29  Alan Third  <alan@idiocy.org>
4740         Fix cross macOS version building (bug#28222)
4742         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
4743         declaration.
4744         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
4746 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
4748         Enable thin font smoothing in macOS (bug#28222)
4750         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
4751         * src/macfont.m (macfont_draw): Use font smoothing.
4753 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4755         Minor improvement in documentation of display-line-numbers
4757         * doc/emacs/display.texi (Display Custom): Document the
4758         display-line-numbers-mode and related options.
4760 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
4762         Avoid aborting in 'waitpid' on MS-Windows
4764         * src/w32proc.c (waitpid): Don't allow quitting if called with
4765         WNOHANG in OPTIONS.  (Bug#28268)
4767 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
4769         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
4771         (sh-syntax-propertize-function): Fix off-by-one error.
4772         Fixes bug#23526.
4774 2017-08-29  Rasmus  <rasmus@gmx.us>
4776         Update Org to v9.0.10
4778         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
4779         release.
4781 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4783         Silence false alarms for symlinks to sources
4785         Problem reported by Glenn Morris (Bug#28264).
4786         * lisp/files.el (files--splice-dirname-file): New function.
4787         (file-truename, file-chase-links): Use it.
4789 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4791         Simplify remove_slash_colon
4793         * src/process.c (remove_slash_colon): Simplify
4794         and avoid a special case for "/:" by itself.
4796 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
4798         Remove font family from minibuffer-prompt face
4800         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
4801         minibuffer-prompt face.
4803 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
4805         Further fixes in tramp-smb.el
4807         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
4808         (tramp-smb-file-name-handler-alist): Use it.
4809         (tramp-smb-handle-make-symbolic-link): Unquote target.
4811         * test/lisp/net/tramp-tests.el
4812         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
4813         (tramp-test18-file-attributes, tramp-test21-file-links)
4814         (tramp--test-check-files): Use it.
4816 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4818         Don’t assume -g3 in .gdbinit
4820         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
4821         Use reasonable defaults if not in the symbol table.
4823 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
4825         Use string-match to check for dotfiles in ido
4827         * lisp/ido.el (ido-make-file-list): Use string-match to check
4828         for dotfiles instead of substring, as when using tramp
4829         simplified syntax ido-temp-list may contain empty strings.
4831 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
4833         Font-lock FDO desktop files correctly
4835         Single and double quotes do not have a special meaning in
4836         desktop files.
4837         https://standards.freedesktop.org/desktop-entry-spec/latest/
4838         * etc/NEWS: Mention new mode.
4839         * lisp/files.el (auto-mode-alist): Split out an entry for handling
4840         the .desktop extension with conf-desktop-mode.
4841         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
4842         variable with rules for booleans and format specifiers.
4843         (conf-unix-mode): Remove desktop file entry example from docstring.
4844         (conf-desktop-mode): New derived major mode.
4846 2017-08-27  Tom Tromey  <tom@tromey.com>
4848         Fix auto-fill bug in js-mode
4850         * lisp/progmodes/js.el (js-do-auto-fill): New function.
4851         (js-mode): Set normal-auto-fill-function.
4852         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
4853         test.
4855 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
4857         Disable completion while entering python multiline statements
4859         The "legacy" completion mechanism sends newlines to the running python
4860         process to get the list of completions, which confuses things if the
4861         user is in the middle of entering a multiline statement (Bug#28051).
4862         It's better to disable completion in this case.
4863         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
4864         (python-shell-prompt-set-calculated-regexps): Set it.
4865         (python-shell-completion-at-point): Return 'ignore' as the completion
4866         function when the current prompt is a block prompt.
4868 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
4870         Tramp cleanup
4872         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
4873         (tramp-sh-handle-make-symbolic-link): More robust check for
4874         TARGET remoteness.
4876         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
4877         Disable copying by tar temporarily, it doesn't work reliably.
4878         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
4879         (tramp-smb-handle-make-symbolic-link): Fix implementation.
4881         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
4883         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
4884         Extend test.
4886 2017-08-27  Glenn Morris  <rgm@gnu.org>
4888         Fix previous xterm.h change for non-gtk builds
4890         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
4892 2017-08-27  Philipp Stephani  <phst@google.com>
4894         Fix GdkSettings-related deprecation warnings
4896         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
4897         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
4898         instead of deprecated gtk_settngs_set_string_property otherwise.
4900 2017-08-27  Philipp Stephani  <phst@google.com>
4902         Always use gtk_window_move in new versions
4904         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
4905         GTK+.
4906         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
4908         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
4909         is ignored.
4911         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
4913 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
4915         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
4917         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
4918         narrowing, and widen the buffer before searching for the name of the
4919         file corresponding to the diff.
4921         With thanks to Noam Postavsky.
4923 2017-08-27  Philipp Stephani  <phst@google.com>
4925         Remove use of a deprecated GTK+ function in new versions
4927         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
4928         if available
4930 2017-08-27  Philipp Stephani  <phst@google.com>
4932         Stop using deprecated GdkScreen monitor functions in newer GDK
4934         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
4935         objects instead of the deprecated GdkScreen functions in GDK 3.22+
4937 2017-08-27  Philipp Stephani  <phst@google.com>
4939         Use GdkSeat in new GDK versions
4941         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
4942         GdkDeviceManager in GDK 3.20+
4944 2017-08-27  Philipp Stephani  <phst@google.com>
4946         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
4948 2017-08-27  Philipp Stephani  <phst@google.com>
4950         Remove call of deprecated GDK function
4952         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
4953         GDK 3.22 or later.
4955 2017-08-27  Alan Mackenzie  <acm@muc.de>
4957         Amend the CC Mode macro cache to cope with changes at the macro start
4959         Fixes bug #28233.
4961         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
4962         error.
4964 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4966         Fix over-protection of byte-compiled files
4968         Problem reported by Sven Joachim (Bug#28244).
4969         Also, fix similar problem for autoload files.
4970         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
4971         Set temp file modes to the buffer-file-name file modes (or 666
4972         if not available) as adjusted by umask.
4973         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
4974         Set temp file modes to 666 as adjusted by umask.
4976 2017-08-27  Tom Tromey  <tom@tromey.com>
4978         Refine conf-toml-mode font-lock
4980         Bug#28218
4981         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
4982         conf-toml-recognize-section.  Use \s- in variable regexp.
4983         (conf-toml-recognize-section): New function.
4985 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4987         Do not munge contents of local symbolic links
4989         This lets Emacs deal with arbitrary local symlinks without
4990         mishandling their contents (Bug#28156).  For example,
4991         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
4992         now consistently creates a symbolic link from '/tmp/x' to '~'.
4993         Formerly, it did that only if the working directory was on the
4994         same filesystem as /tmp; otherwise, it expanded the '~' to
4995         the user's home directory.
4996         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
4997         instead of rolling our own code.
4998         * lisp/files.el (files--name-absolute-system-p): New function.
4999         (file-truename, file-chase-links): Use it to avoid mishandling
5000         symlink contents that begin with ~.
5001         (copy-directory, move-file-to-trash):
5002         Use concat rather than expand-file-name, to avoid mishandling
5003         symlink contents that begin with ~.
5004         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
5005         target unless interactive.  Strip leading "/:" if interactive.
5006         (emacs_readlinkat): Do not prepend "/:" to the link target if
5007         it starts with "/" and contains ":" before NUL.
5008         * test/src/fileio-tests.el (try-link): Rename from try-char,
5009         and accept a string instead of a char.  All uses changed.
5010         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
5011         to test the new behavior.
5013 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
5015         Remove invalid regexp for shell builtins for wksh
5017         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
5018         be literal strings, so remove a regexp for wksh. In any case, it’s a
5019         defunct proprietary shell.
5021 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
5023         Improve doc for file-name-absolute-p.
5025 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
5027         Fix Tramp part of Bug#28156
5029         * lisp/files.el (file-name-non-special): Use `file-name-quote'
5030         instead prefixing "/:", the file could already be quoted.
5032         * lisp/net/tramp.el (tramp-error): Handle null arguments.
5033         (tramp-handle-make-symbolic-link):
5034         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
5035         (tramp-sh-handle-add-name-to-file):
5036         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
5037         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
5038         stronger semantics in Emacs.  (Bug#28156)
5040         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
5041         Extend test.
5043 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
5045         Fix bugs merged with bug#25428
5047         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
5048         (Bug#13926)  (Bug#25434)  (Bug#25435)
5050 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
5052         Improve documentation of Info virtual files and nodes
5054         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
5055         (Bug#28237)
5057 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
5059         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
5061 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
5063         Support multi-lingual detection of SEE ALSO man sections
5065         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
5066         section detection in several langages: French, German, Spanish,
5067         Portugese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
5069 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
5071         Improve expand-file-name doc
5073         * doc/lispref/files.texi (Relative File Names, Directory Names)
5074         (File Name Expansion):
5075         * doc/lispref/minibuf.texi (Reading File Names):
5076         Document expand-file-name behavior with ~ more clearly
5077         and accurately.
5078         * doc/misc/org.texi (Batch execution): Simplify example
5079         script so that it does not need expand-file-name and thus
5080         will not mishandle file names with leading ~.
5082 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
5084         Support all perl variable declarators and prefixes (Bug#27613)
5086         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
5087         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
5088         'local', 'state', 'supersede', 'let', and 'temp'.
5090 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5092         Fix file-attributes race on GNU hosts
5094         * doc/lispref/files.texi (File Attributes):
5095         Document file-attributes atomicity.
5096         * etc/NEWS: Document the fix.
5097         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
5098         for diagnostics.  All callers changed.  On platforms like
5099         GNU/Linux that support O_PATH, fix a race condition in
5100         file-attributes and similar functions, so that these functions do
5101         not return nonsense if a directory entry is replaced while getting
5102         its attributes.  On non-GNU platforms, do a better (though not
5103         perfect) job of detecting the race, and return nil if detected.
5105 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5107         Simplify expand_and_dir_to_file
5109         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
5110         argument, since in practice it always has the default value.  All
5111         callers changed.  Prefer C99 style decls in nearby code.
5113 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
5115         Fix file-name completion on network shares
5117         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
5118         (Bug#28207)
5120 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
5122         Fix a FIXME with an exegetical comment
5124         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
5125         regexp for wksh builtins.
5127 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
5129         Minor docstring language fix
5131         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
5133 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
5135         Remove old commented code from sh-script.el
5137         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
5138         and variable, commented since 2001.
5140 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5142         * lisp/emacs-lisp/package.el: Don't let failure stop us
5144         (package-activate-1): Don't throw an error for missing deps.
5145         (package-unpack): Don't bother compiling if activation failed.
5146         (package-initialize): Report failures but keep activating other packages.
5148 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5150         Prefer ‘double’ for FP temps in xterm.c
5152         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
5153         (x_set_toolkit_scroll_bar_thumb)
5154         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
5155         ‘float’ for individual local floating-point temporaries.
5157 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
5159         Avoid using string-to-multibyte in ispell.el
5161         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
5162         decode-coding-string instead. Note that decode-coding-string returns a
5163         string that satisfies multibyte-string-p even if its input is pure
5164         ASCII and the third argument is t, so the result of
5165         ispell-get-decoded-string is always a multibyte string.
5167 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
5169         Store the regexp just when there are matches
5171         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
5172         disabled and there are no matches do not store REGEXP
5173         in hi-lock-interactive-patterns.
5175 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
5177         Keep face available if there are no matches
5179         If font-lock-mode is disabled in the current buffer, and
5180         there are no matches for REGEXP, then keep FACE available
5181         for a next search.
5182         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
5183         hi-lock--unused-faces if font-lock-mode is disabled and
5184         there are no matches.
5185         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
5187 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
5189         Minor improvements for tramp-interrupt-process, documentation
5191         * doc/lispref/processes.texi (Signals to Processes):
5192         * etc/NEWS: Document interrupt-process-functions.
5194         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
5195         `process-live-p'.
5197         * src/process.c (Vinterrupt_process_functions): Fix docstring.
5199         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
5200         Extend test.
5202 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
5204         Fix a comment whitespace typo.
5206         src/fileio.c: A double space was added after "..", used in a code
5207         example. Make it a single space.
5209 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
5211         Remove old commented code and obsolete comments
5213         * lisp/files.el (locate-dominating-files): Remove old commented
5214         implementation from 9 years ago.  Since the current version
5215         appears (at least to me) not just more efficient but clearer than the
5216         version removed, also delete a comment in the new version referring to
5217         the old version. Remove old commented heuristic code,
5218         and explanatory comments.
5220 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
5222         Remove old duplicate commented code
5224         * lisp/files.el (file-relative-name): Remove old commented version,
5225         replaced 14 years ago in commit 753ad9889.
5227 2017-08-24  Tom Tromey  <tom@tromey.com>
5229         Add conf-toml-mode
5231         * etc/NEWS: Mention conf-toml-mode.
5232         * lisp/files.el (auto-mode-alist): Add entry for .toml.
5233         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
5234         (conf-toml-font-lock-keywords): New defvars.
5235         (conf-toml-mode): New mode.
5237 2017-08-23  Alan Third  <alan@idiocy.org>
5239         Use lisp type in log message (bug#28176)
5241         * src/nsimage.m (ns_load_image): Use make_number on index.
5243 2017-08-23  Alan Third  <alan@idiocy.org>
5245         Fix PNGs on macOS (bug#28176)
5247         * src/nsimage.m (ns_load_image): Remove index check.
5248         (EmacsImage::getAnimatedBitmapImageRep): New function.
5249         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
5250         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
5251         is valid.
5253 2017-08-23  Alan Third  <alan@idiocy.org>
5255         Add ability to change macOS WM theme (bug#27973)
5257         * src/frame.c (make_frame, frame_parms, syms_of_frame)
5258         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
5259         options.
5260         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
5261         represent NSAppearance options.
5262         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
5263         ns_transparent_titlebar frame parameters.
5264         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
5265         ns_set_appearance and ns_set_transparent_titlebar handlers.
5266         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
5267         frame parameters.
5268         (Qdark): Add new symbol for use with ns-appearance.
5269         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
5270         [NS_IMPL_COCOA]: Add prototypes.
5271         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
5272         [NS_IMPL_COCOA]: New functions.
5273         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
5274         ns-transparent-titlebar frame parameters.
5275         * doc/lispref/frames.texi (Window Management Parameters): Document
5276         ns-apperance and ns-transparent-titlebar.
5278 2017-08-22  Alan Mackenzie  <acm@muc.de>
5280         When looking for the end of a declarator, prevent macros fouling up the search
5282         The practical implication of this bug was a random jit-lock chunk remaining
5283         entirely unfontified.
5285         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
5286         restrict two forward searches to the end of that macro.
5288 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
5290         Test `file-expand-wildcards' for Tramp
5292         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
5293         Remove, not needed anymore.
5295         * test/lisp/net/tramp-tests.el (top): Require seq.el.
5296         (tramp-test16-directory-files): Simplify.
5297         (tramp-test16-file-expand-wildcards): New test.
5298         (tramp-test28-interrupt-process): Skip for older Emacsen.
5300 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
5302         Add tests for cl-macs.el (Bug#27559)
5304         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
5305         duplicate.
5306         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
5307         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
5309 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
5311         Optimize skkdic conversion (Bug#28043)
5313         The primary speedup comes from the optimizing lookup-nested-alist and
5314         set-nested-alist for the case where the key is a string.  This brings
5315         the time down to less than half the original.
5317         * lisp/international/mule-util.el (lookup-nested-alist)
5318         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
5319         string.
5321         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
5322         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
5323         of calculating ratio of work done inline.
5325         (skkdic-reduced-candidates): Call `char-category-set' on the first
5326         character of the string directly, instead of using a regexp for the
5327         character category.
5328         (skkdic--japanese-category-set): New constant.
5329         (skkdic-collect-okuri-nasi): Just set
5330         `skkdic-okuri-nasi-entries-count' at once at the end rather than
5331         updating it throughout the loop.
5333         (skkdic-convert-postfix skkdic-convert-prefix)
5334         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
5335         (skkdic-extract-conversion-data): Use `match-string-no-properties'
5336         instead of `match-string'.
5338 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
5340         Treat tests in lib-src like tests in src
5342         * test/Makefile.in (test_template): Depend on a .c source file for a
5343         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
5344         in the right direction.)
5346 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5348         Port /bin/sh scripts to Solaris 10
5350         Its /bin/sh builtin ‘test’ command does not support -e.
5351         * autogen.sh, build-aux/git-hooks/pre-commit:
5352         * build-aux/gitlog-to-emacslog, make-dist:
5353         Use test -r, not test -e.
5355 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
5357         Avoid losing the buffer restriction in flyspell-mode
5359         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
5360         as we have the buffer widened, to make sure the restriction is
5361         preserved.  (Bug#28161)
5363 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
5365         Fix the 'versionclean' target in src/Makefile
5367         * src/Makefile.in (versionclean): Don't accidentally remove
5368         emacs-module.h.  (Bug#28169)
5370 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
5372         Implement `interrupt-process-functions'
5374         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
5375         `tramp-advice-interrupt-process'.  Adapt according to changed API.
5376         (top): Add it to `interrupt-process-functions'.
5378         * src/process.c (Finternal_default_interrupt_process): New defun.
5379         (Finterrupt_process): Change implementation, based on
5380         Vinterrupt_process_functions.
5381         (Vinterrupt_process_functions): New defvar.
5383         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
5384         test removal of advice.
5386 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
5388         Avoid floating-point exceptions while drawing underwave
5390         * src/w32term.c (x_get_scale_factor):
5391         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
5392         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
5393         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
5395 2017-08-21  Sam Steingold  <sds@gnu.org>
5397         mark flymake-mode as safe local variable when the value is nil
5399 2017-08-21  Sam Steingold  <sds@gnu.org>
5401         allow nil init in flymake-allowed-file-name-masks to disable flymake
5403         (flymake-allowed-file-name-masks): Update doc and :type.
5404         (flymake-get-file-name-mode-and-masks): Handle nil init.
5406 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
5408         Remove the workaround for bug#20719
5410         * lisp/cedet/semantic/symref/grep.el
5411         (semantic-symref-grep-use-template): Remove the workaround for
5412         bug#20719, it's been fixed for a while now.
5414 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
5416         Fix byte-compilation warnings in semantic/symref/grep
5418         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
5419         (grepflags): Rename to semantic-symref-grep-flags.
5420         (semantic-symref-grep-expand-keywords): Update accordingly.
5421         (semantic-symref-grep-use-template): Remove the last two
5422         arguments to make sure they don't shadow the (not renamed)
5423         global variables.
5424         (semantic-symref-perform-search)
5425         (semantic-symref-parse-tool-output-one-line): Use slot names
5426         instead of keywords, like the byte-compiler wants us to.
5428 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
5430         Simplify eldoc-message
5432         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
5433         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
5435 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
5437         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
5439         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
5440         carriage returns into the temporary file when running in unbuffered
5441         mode, the w32 build of python 2.7 chokes on them.
5443 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
5445         Add missing require
5447         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
5449 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
5451         Implement `interrupt-process' for remote processes (Bug#28066)
5453         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
5454         Support sending signals remotely.
5455         (tramp-open-connection-setup-interactive-shell):
5456         Trace "remote-tty" connection property.
5458         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
5459         (top): Add advice to `interrupt-process'.  (Bug#28066)
5461         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
5462         New test.
5463         (tramp-test29-shell-command)
5464         (tramp-test30-environment-variables)
5465         (tramp-test30-environment-variables-and-port-numbers)
5466         (tramp-test31-explicit-shell-file-name)
5467         (tramp-test32-vc-registered)
5468         (tramp-test33-make-auto-save-file-name)
5469         (tramp-test34-make-nearby-temp-file)
5470         (tramp-test35-special-characters)
5471         (tramp-test35-special-characters-with-stat)
5472         (tramp-test35-special-characters-with-perl)
5473         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
5474         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
5475         (tramp-test36-utf8-with-ls)
5476         (tramp-test37-asynchronous-requests)
5477         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
5478         (tramp-test40-unload): Rename.
5479         (tramp-test40-unload): Test also removal of advice.
5481 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
5483         Document Enchant support
5485         * doc/emacs/fixit.texi: Mention Enchant.
5486         * doc/misc/efaq.texi: Likewise.
5487         * etc/NEWS: Add an item on Enchant support.
5489 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
5491         Remove old comments and a redundant FIXME
5493         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
5494         commented code, a redundant FIXME, and outdated usage instructions.
5496 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
5498         Add Enchant support to ispell.el (Bug#17742)
5500         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
5501         (ispell-really-enchant): Add variable.
5502         (ispell-check-version): If using Enchant, check it’s new enough (at
5503         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
5504         without.)
5505         (ispell-enchant-dictionary-alist): Add variable.
5506         (ispell-find-enchant-dictionaries): Add function, based on
5507         ispell-find-aspell-dictionaries.
5508         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
5509         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
5510         old ispell name to locale mapping code for Enchant too.
5511         (ispell-send-replacement): Make it work with Enchant.
5513 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
5515         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
5517 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
5519         Stop printing '4' in .elc files after 'define-symbol-prop' calls
5521         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
5522         Return nil in case we have compiled the form, to prevent a redundant
5523         constant from getting added to the compiled output.
5525 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5527         Change recent symlink tests to just test ASCII
5529         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
5530         Be less ambitious about testing non-ASCII chars and encoding
5531         errors, as there are too many portability issues.
5533 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5535         Don’t adjust CRLF in file names
5537         * doc/misc/gnus.texi (Non-ASCII Group Names):
5538         * etc/NEWS:
5539         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
5540         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
5541         that CRLF in file names is left alone.
5542         * lisp/international/mule-cmds.el (set-default-coding-systems):
5543         Do not alter CRLF in file name coding systems.
5544         (prefer-coding-system): Ignore differences in CRLF processing when
5545         checking whether we used the user-specified file name coding system.
5546         * test/src/fileio-tests.el: New file.
5548 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5550         Make list-processes support display-line-numbers
5552         * lisp/simple.el (process-menu-mode): Move the call to
5553         tabulated-list-init-header from here...
5554         (list-processes--refresh): ...to here.  (Bug#27895)
5556 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5558         Improve support of display-line-numbers in package.el
5560         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
5561         the header.  (Bug#27895)
5562         * lisp/emacs-lisp/tabulated-list.el
5563         (tabulated-list-line-number-width): Fix the case when
5564         display-line-numbers is nil.
5566 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
5568         Improve support of display-line-numbers in tabulated-list-mode
5570         * lisp/emacs-lisp/tabulated-list.el
5571         (tabulated-list-line-number-width): New function.
5572         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
5573         (Bug#27895)
5575 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5577         Fix one more issue reported by Alex (Bug#27999)
5579         * doc/lispref/windows.texi (Preserving Window Sizes)
5580         (Window Parameters): Use the term `window-preserved-size'
5581         instead of `preserved-size' (Bug#27999).
5583 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5585         Rename `no-delete-other-window' to `no-delete-other-windows'
5587 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
5589         Fix two side window problems noted by Alex (Bug#27999)
5591         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
5592         typo.
5593         (delete-other-windows): Rename the `no-delete-other-window'
5594         parameter to `no-delete-other-windows' (see the discussion in
5595         Bug#27999 for the rationale of this change).
5596         * doc/lispref/windows.texi (Deleting Windows)
5597         (Frame Layouts with Side Windows, Window Parameters): Rename
5598         `no-delete-other-window' to `no-delete-other-windows'.
5600 2017-08-19  Alex Schroeder  <alex@gnu.org>
5602         Use define-minor-mode for rcirc-omit-mode
5604 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5606         Clarify behavior of symlinks and directories
5608         * doc/lispref/files.texi (Saving Buffers): Document how functions
5609         like rename-file work with symlinks and directories.  This patch
5610         attempts to document the current behavior better, in preparation
5611         for possibly changing it.  See Bug#27986.
5613 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5615         Fix recently-introduced file descriptor leak
5617         * src/fileio.c (Fmake_temp_file_internal):
5618         Don’t leak a file descriptor if write_region signals an error.
5620 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5622         Improve make-temp-file performance on local files
5624         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
5625         the work of inserting the text.
5626         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
5627         All callers changed.
5629 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
5631         Don't lose arguments to eshell aliases (Bug#27954)
5633         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
5635 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5637         * lisp/files.el (make-temp-file): Fix directory use case.
5639 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5641         Fix and document make-temp-file optional text parameter
5643         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
5644         (files--make-magic-temp-file): Support optional TEXT parameter.
5645         * etc/NEWS: Document it.
5646         * doc/lispref/files.texi: Document it.
5647         * test/lisp/auth-source-tests.el: Minor reformat.
5649 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5651         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
5653         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
5655 2017-08-19  João Távora  <joaotavora@gmail.com>
5657         Fix default value of electric-pair-pairs and electric-pair-text-pairs
5659         (Bug#24901)
5661         A previous change, titled "Add support for curly quotation marks to
5662         electric-pair-mode", attempted to add these characters to the default
5663         value of these variables.  But it did so in a quoted list, preventing
5664         evaluation of the relevant expressions and resulting in an invalid
5665         format.
5667         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
5668         Use backquote and comma.
5670 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
5672         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
5674         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
5675         explicitly in the interactive case.
5677 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
5679         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
5681 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
5683         Add auth-source tests and codify its API better
5685         The auth-source behavior was unclear in some API use cases, so these
5686         extra tests codify and test it. For details see
5687         https://github.com/DamienCassou/auth-password-store/issues/29
5689         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
5690         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
5691           auth-source tests and simplify them with the new `make-temp-file'.
5693 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5695         Don't call the same hook twice due to obsolete aliases
5697         * lisp/international/robin.el (robin-activate):
5698         * lisp/international/quail.el (quail-activate):
5699         * lisp/international/mule-cmds.el (deactivate-input-method):
5700         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
5701         Don't call the same hook twice, when the obsolete and the
5702         advertised symbols are aliased.  (Bug#28118)
5704 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
5706         A new face for show-paren in expression mode
5708         * lisp/faces.el (show-paren-match-expression): Define the new face.
5709         * lisp/paren.el (show-paren-function): Apply the different face
5710         when in expression mode.  (Bug#28047)
5712 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5714         Non-ASCII support for man page section and header names
5716         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
5717         (Man-heading-regexp): Replace ASCII character classes by
5718         equivalent classes that allow non-ASCII characters.  Suggested by
5719         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
5721 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
5723         Implement HiDPI support for underwave on MS-Windows
5725         * src/w32term.c (x_get_scale_factor): New function.
5726         (w32_draw_underwave): Use it.
5727         * src/xterm.c (x_draw_underwave): Offset the wave starting point
5728         to make it identical with original code.
5730 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
5732         Support HiDPI displays for wave style underlines
5734         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
5735         based on scale factor.
5736         (x_get_scale_factor): New function.
5738 2017-08-18  Bastien  <bzg@gnu.org>
5740         Delete library-of-babel.org
5742         * etc/org/library-of-babel.org: Delete file.
5744 2017-08-18  Glenn Morris  <rgm@gnu.org>
5746         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
5748 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
5750         Remove custom version parsing from epg-config.el (Bug#27963)
5752         * lisp/epg-config.el (epg-config--compare-version)
5753         (epg-config--parse-version): Remove.
5754         (epg-check-configuration): Use `version<=' instead.
5756 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
5758         Treat control characters in JSON strings as invalid
5760         * lisp/json.el (json-peek): Reduce to following-char.
5761         (json-pop, json-read): Zero (null char) means end of file.
5762         (json-read-escaped-char): Delimit URL properly.
5763         (json-read-string): Signal error for ASCII control characters.
5764         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
5765         :json-eof symbol.
5766         (test-json-read-string): New test for control characters in JSON
5767         strings.
5769 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5771         Support Posix semantics of 'rename' on MS-Windows
5773         * src/w32.c (sys_rename_replace): Support Posix semantics of
5774         'rename': return an error if OLD is a directory while NEW is not,
5775         or vice versa.
5777 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5779         * src/w32.c (sys_rename_replace): Support renaming a directory.
5781 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
5783         Fix the MS-Windows build
5785         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
5786         'open'.
5788         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
5790 2017-08-17  João Távora  <joaotavora@gmail.com>
5792         Add flymake-backends defcustom
5794         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
5795         Rename from flymake-can-syntax-check-file.  Suitable for adding to
5796         flymake-backends.
5797         (flymake-proc-start-syntax-check): Rename from
5798         flymake-start-syntax-check.  Don't check again if buffer can be
5799         checked.
5800         (add-to-list flymake-backends): Hook only flymake-ui.el
5802         * lisp/progmodes/flymake-ui.el (flymake-backends): New
5803         defcustom.
5804         (flymake-on-timer-event, flymake-after-change-function)
5805         (flymake-after-save-hook, flymake-find-file-hook): Call new
5806         flymake--start-syntax-check-buffer and
5807         flymake--can-syntax-check-buffer.
5808         (flymake-mode): Call flymake--can-syntax-check-buffer and set
5809         flymake-backend.
5810         (flymake--backend): New buffer-local variable.
5812 2017-08-17  João Távora  <joaotavora@gmail.com>
5814         Split flymake.el into flymake-proc.el and flymake-ui.el
5816         flymake.el is now a stub that requires both files.
5818         * lisp/progmodes/flymake-proc.el: New file.
5820         * lisp/progmodes/flymake-ui.el: New file.
5822         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
5823           flymake-proc.el.  Require both files.
5825 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
5827         Set `default-directory' for watchdog in tramp-test.el
5829         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
5830         Set `default-directory' for watchdog.
5832 2017-08-17  Andreas Schwab  <schwab@suse.de>
5834         * lisp/term/konsole.el: New file.
5836 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
5838         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
5840         (woman2-RS): Use plain `push' instead of `woman-push'.
5841         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
5843 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5845         Merge from Gnulib; use ‘open’ for O_CLOEXEC
5847         This incorporates:
5848         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
5849         2017-08-15 extensions: enable NetBSD specific extensions
5850         2017-08-14 open: support O_CLOEXEC
5851         2017-08-13 reallocarray: new module
5852         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
5853         it now supports O_CLOEXEC and this simplifies Emacs.
5854         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
5855         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
5856         Copy from Gnulib.
5857         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
5858         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
5859         New files, copied from Gnulib.
5860         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5861         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
5862         Remove, as Gnulib does this for us.
5863         * src/filelock.c (create_lock_file):
5864         * src/sysdep.c (emacs_open, emacs_pipe):
5865         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
5867 2017-08-16  Alan Third  <alan@idiocy.org>
5868             Charles A. Roelli  <charles@aurox.ch>
5870         Allow use of run-time OS version checks on macOS (bug#27810)
5872         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
5873         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
5874         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
5875         defines.
5876         (NSWindowStyleMaskFullScreen,
5877         NSWindowCollectionBehaviorFullScreenPrimary,
5878         NSApplicationPresentationFullScreen,
5879         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
5880         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
5881         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
5882         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
5883         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
5884         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
5885         Allow use of run-time checks and replace version check macros.
5886         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
5887         * src/macfont.m (macfont_draw): Use run-time OS version checks.
5888         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
5890 2017-08-16  Alan Third  <alan@idiocy.org>
5892         Add multiframe image support to NS port (bug#21714)
5894         * src/nsimage.m (ns_load_image): Handle multiple frames.
5895         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
5896         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
5897         function prototypes.
5899 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
5901         files-tests.el: Remove unused lexical variable
5903         * test/lisp/files-tests.el (file-test--do-local-variables-test);
5904         Remove unused var 'files-test-queried'.
5906 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
5908         * doc/emacs/files.texi (Copying and Naming): Mention
5910         restrictions to add-name-to-file and make-symbolic-link on
5911         remote systems.
5913 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
5915         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
5917 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
5919         Add tests for previous commit
5921         * test/lisp/progmodes/elisp-mode-tests.el
5922         (elisp-mode-tests--face-propertized-string): New function.
5923         (elisp--highlight-function-argument-indexed)
5924         (elisp--highlight-function-argument-keyed-1)
5925         (elisp--highlight-function-argument-keyed-2): New tests.
5927 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
5929         Fix eldoc highlighting for &key args (Bug#27272)
5931         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
5932         Only switch to keyword-based searching if INDEX point beyond `&key' in
5933         the argument list.  All arguments prior to the `&key' are position
5934         based.  Additionally, be more strict about what is a keyword when
5935         searching for the current keyword.
5937 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5939         Do not assume regular Git .git/hooks dir
5941         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
5942         Problem reported by Ted Zlatanov in:
5943         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
5944         * autogen.sh (git_sample_hook_src): New function.  Use it to work
5945         even if .git/hooks or its samples do not exist.
5947 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5949         New manual section "Copying and Naming"
5951         * doc/emacs/files.texi (Copying and Naming):
5952         New section, split off from Misc File Ops and containing the
5953         operations that copy, name or rename files.  This fixes some
5954         confusion caused by the incorrect phrase "The same rule applies
5955         to all the remaining commands in this section" in the old manual.
5956         This change does not affect the confusion about directories (see
5957         Bug#27986 for ongoing discussion).
5959 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
5961         Fix the MS-Windows build
5963         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
5964         ENOSYS.  (Bug#28097)  (Bug#27986)
5966 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
5968         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
5970         * .gitlab-ci.yml: add Git to the installed packages.
5972 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
5974         Support indentation of detached Less CSS rulesets
5976         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
5977         for indentation of detached rulesets passed to Less mixins.
5979         * test/manual/indent/less-css-mode.less: New file.
5981 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
5983         Fixes and tweaks for the new Less CSS mode
5985         * etc/NEWS: Add an entry for the new mode.
5987         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
5988         (less-css-lessc-command): Tweak docstring. Don't mark it as
5989         safe. Don't autoload.
5990         (less-css-compile-at-save, less-css-lessc-options)
5991         (less-css-output-directory): Tweak docstrings. Don't autoload.
5992         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
5993         (less-css-input-file-name): Tweak docstring. Don't autoload.
5994         (less-css-compile-maybe): Use `when' for one-armed `if'.
5995         (less-css--output-path): Tweak docstring.
5996         (less-css--maybe-shell-quote-command): Remove function.
5997         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
5998         compiler warning. Use `string-join' instead of `mapconcat'.
5999         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
6000         variables.
6001         (less-css-mode-syntax-table, less-css-mode-map): New variables.
6002         (less-css-mode): Change status line mode name from "LESS" to
6003         "Less". Tweak docstring. Move syntax table definitions to
6004         `less-css-mode-syntax-table'.
6005         (less-css-indent-line): Remove function.
6007 2017-08-15  Steve Purcell  <steve@sanityinc.com>
6009         New major mode: Less CSS mode
6011         * lisp/textmodes/less-css-mode.el: New file.
6013 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
6015         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
6017         * lisp/arc-mode.el (archive-int-to-mode):
6018         Swap order of 2048 and 1024 tests (Bug#28092).
6019         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
6020         Update test.
6022 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6024         Improve rename-file port to macOS
6026         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
6027         fail with errno == ENOTSUP on file systems where it is not
6028         supported, according to the Apple documentation.
6030 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
6032         Speed up ./configure with more caching (Bug#27960)
6034         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
6035         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
6036         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
6037         characters', and 'Windows API header' checks.  Remove pause after
6038         warning about GTK bug.
6040 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6042         Improve rename-file behavior on macOS
6044         Problem reported by Philipp Stephani (Bug#27986).
6045         * src/fileio.c (Frename_file):
6046         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
6047         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
6048         since this provides the necessary atomicity guarantees.
6050 2017-08-14  Glenn Morris  <rgm@gnu.org>
6052         Clean up temp files after some tests
6054         * test/lisp/emacs-lisp/bytecomp-tests.el
6055         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
6056         * test/lisp/progmodes/etags-tests.el
6057         (etags-buffer-local-tags-table-list): Delete temp file at end.
6059 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
6061         Implement renameat_noreplace for MS-Windows
6063         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
6064         emulation for MS-Windows.  (Bug#27986)
6066 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
6068         Fix 'rename' on MS-Windows
6070         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
6071         the primitive rename errors out with EEXIST.
6073 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
6075         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
6077 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
6079         Tiny JSON performance improvement
6081         Get rid of some needless uses of apply.  Measuring with
6082           (benchmark-run 10 (json-read-file "test.json"))
6083         showed 1.5-2.5% reduction of execution time.
6084         * lisp/json.el (json-peek): Nix let-binding.
6085         (json-read-string): Use concat for making a string from chars.
6086         (json-read-array): Use cond and more appropriate conversion instead
6087         of blindly applying.
6089 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
6091         Be consistent in spelling 'ok-if-already-exists'.
6093 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
6095         Use 'header-line-highlight' face in proced and erc
6097         * lisp/erc/erc-list.el (erc-list-button):
6098         * lisp/proced.el (proced-format): Use the 'header-line-highlight
6099         face.  (Bug#28033)
6101 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
6103         Remove feeds with dead uris from newsticker--raw-url-list-defaults
6105         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
6106           Remove feeds with dead uris.
6108 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
6110         Fix vertical cursor motion when cursor is on the fringe
6112         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
6113         setting temporary-goal-column when newline overflows into the
6114         fringe.  Support that use case in R2L paragraphs as well.
6116 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
6118         Fix vertical cursor motion across too wide images
6120         * src/indent.c (Fvertical_motion): If lines are truncated and we
6121         end up beyond the right margin of the window, don't assume we are
6122         in the next screen line, unless VPOS actually says so.  (Bug#28071)
6124 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
6126         Add test suites for arc-mode and tar-mode
6128         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
6129         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
6130         New tests.
6132 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
6134         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
6136 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
6138         Fix uri of Emacs Wiki
6140         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
6141           uri of Emacs Wiki.  (Bug#27981)
6143 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
6145         Fix make-temp-file bug with ""/"."/".." prefix
6147         The bug with "." and ".." has been present for a while; I
6148         introduced the bug with "" earlier today in my patch for Bug#28023.
6149         * lisp/files.el (make-temp-file): Do not use expand-file-name if
6150         PREFIX is empty or "." or "..", as it does the wrong thing.
6151         Compute absolute-prefix here ...
6152         (files--make-magic-temp-file): ... instead of here ...
6153         * src/fileio.c (Fmake_temp_file_internal): ... or here.
6155         * lisp/files.el (make-temp-file): If the prefix is empty, append
6156         "/" to the absolute prefix so that the new files are children
6157         rather than siblings of temporary-file-directory.  This fixes a
6158         bug introduced in the previous change.
6159         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
6160         New test, for the bug.
6162 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
6164         Improve make-temp-file performance on local files
6166         For the motivation behind this patch, please see Bug#28023 and:
6167         http://emacshorrors.com/posts/make-temp-name.html
6168         Although, given the recent changes to Tramp, the related security
6169         problem in make-temp-file is already fixed, make-temp-file still has
6170         several unnecessary system calls.  In the typical case on GNU/Linux,
6171         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
6172         getpid, unlink, umask) by 2 (open, close).
6173         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
6174         that Emacs is using it directly.
6175         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
6176         no longer needed.
6177         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6178         * lisp/files.el (files--make-magic-temp-file): Rename from
6179         make-temp-file.
6180         (make-temp-file): Use make-temp-file-internal for
6181         non-magic file names.
6182         * src/fileio.c: Include tempname.h.
6183         (make_temp_name_tbl, make_temp_name_count)
6184         (make_temp_name_count_initialized_p, make_temp_name): Remove.
6185         (Fmake_temp_file_internal): New function.
6186         (Fmake_temp_name): Use it.
6187         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
6188         instead of make_temp_name.
6190 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6192         Document internal-use naming conventions
6194         * doc/lispref/functions.texi (Function Names):
6195         * doc/lispref/variables.texi (Tips for Defining):
6196         Document naming conventions for internal-use functions and vars.
6197         See Bug#28023#59.
6199 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6201         Simplify re and document 'autoconf.sh all'
6203         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
6204         ./autogen.sh defaults to "all".  All uses removed.
6205         * README: Mention autoconf.sh's effect on Git configuration.
6207 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6209         Default autogen.sh to 'all'
6211         This addresses a problem noted by RMS in:
6212         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
6213         * autogen.sh (do_git): Set to true if this script is invoked
6214         with no arguments and there is a .git subdirectory.
6216 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6218         Adjust jka-compr to recent Tramp changes.
6220         * lisp/jka-compr.el (jka-compr-write-region):
6221         Two new args LOCKNAME and MUSTBENEW.
6223 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
6225         Improve doc strings of 2 functions in simple.el
6227         * lisp/simple.el (beginning-of-visual-line)
6228         (move-beginning-of-line): Doc fix.  Reported by
6229         Justin Burkett <justin@burkett.cc>.
6231 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
6233         Fix completion on directory names on MS-DOS/MS-Windows
6235         * src/msdos.c (faccessat):
6236         * src/w32.c (faccessat): Support relative file names, and add D_OK
6237         to 'mode' if the argument is a directory.  This unbreaks file-name
6238         completion when the completion result is a directory.
6240 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
6242         Implement EXCL of write-region for Tramp
6244         * lisp/net/ange-ftp.el (ange-ftp-write-region):
6245         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
6246         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
6247         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
6248         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
6249         Implement MUSTBENEW.
6251         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
6252         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
6253         (tramp-sh-handle-add-name-to-file)
6254         (tramp-do-copy-or-rename-file)
6255         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
6256         Adapt error message for `file-already-exists'.
6258         * src/lisp.h:
6259         * src/eval.c (call8): New function.
6261         * src/fileio.c (write_region): Pass also lockname and
6262         mustbenew to the file name handler.
6264         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
6265         Add tests for MUSTBENEW.
6267 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
6269         Adapt Proced display to display-line-numbers
6271         * lisp/proced.el (proced-header-line): Account for the width taken
6272         by display-line-numbers.  (Bug#27895)
6274 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
6276         Adapt tabulated list when display-line-number is turned on
6278         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
6279         a hook to revert the display when display-line-numbers is turned
6280         on.  (Bug#27895)
6282 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
6284         Use Gnulib 'tempname' on MS-Windows
6286         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
6287         now in nt/inc/ms-w32.h.
6288         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
6289         (mkostemp): Remove.
6291         * src/w32.c (mkostemp): Remove.
6292         (sys_mkdir): Accept a second (unused) argument.
6293         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
6294         specific call to mkdir.  (Bug#28023)
6296         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
6297         to accept 2 arguments.
6298         (open): Remove from "#ifdef emacs".
6299         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
6300         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
6301         (OMIT_GNULIB_MODULE_tempname): Remove.
6303 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
6305         Add new face 'header-line-highlight'
6307         * lisp/faces.el: Define the face.
6308         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
6309         * lisp/info.el (Info-fontify-node): Use the new face.
6310         * doc/emacs/display.texi (Standard Faces):
6311         * etc/NEWS: Document the new face.  (Bug#28033)
6313 2017-08-12  Arash Esbati  <arash@gnu.org>
6315         Make a case-sensitive match for strings
6317         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
6318         let-bind `case-fold-search' to nil in order to be case-sensitive
6319         when matching a string.  (Bug#27518)
6321 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
6323         Fix a minor todo-mode regression
6325         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
6326         save-excursion.  This fixes a regression introduced by the fix
6327         for bug#27609, whereby trying to raise the priority of the
6328         first item or lower the priority of the last item, which
6329         should be noops, moves point to the item's start.  Clarify
6330         comment.
6332         * test/lisp/calendar/todo-mode-tests.el
6333         (todo-test-raise-lower-priority): Add test cases for trying to
6334         raise first item and lower last item.
6335         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
6336         (todo-test-toggle-item-header02): Remove ":expected-result
6337         :failed" and tests of point after todo-next-item, since the
6338         effect when using Todo mode is not reproducible in the test
6339         environment.  Add commentary about this.
6341 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6343         Improve performance for rename-file etc.
6345         Although this does not fix Bug#27986, it is a step forward.
6346         I plan to propose a more-significant patch later.
6347         * lisp/files.el (directory-name-p): Move from here ...
6348         * src/fileio.c (Fdirectory_name_p): ... to here.
6349         (directory_like, cp_like_target): New static functions.
6350         (Fcopy_file, Frename_file, Fadd_name_to_file)
6351         (Fmake_symbolic_link):
6352         Use them, to avoid directory-testing syscalls on file names that
6353         must be directories if they exist.  Omit unnecessary
6354         initializations and CHECK_STRING calls.
6355         (Frename_file): Don't call file_name_case_insensitive_p
6356         twice on the same file.  Compare both file names expanded, instead
6357         of the old name expanded and the new one unexpanded.
6359 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
6361         Respect buffer-local value of tags-table-list (Bug#27772)
6363         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
6364         buffer around the `tags-table-including' calls so as to get buffer
6365         local variables from the right buffer later.
6366         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
6367         New test.
6368         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
6369         constant.
6370         (etags-bug-158, etags-bug-23164): Use it so that when running the test
6371         interactively, setting EMACS_TEST_DIRECTORY is not needed.
6373 2017-08-10  Tom Tromey  <tom@tromey.com>
6375         Fix auto-filling regression
6377         Bug#28003
6378         * lisp/newcomment.el (comment-indent-new-line): Check
6379         comment-auto-fill-only-comments.  Reverts earlier change.
6380         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
6381         do-auto-fill.
6383 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6385         Merge from gnulib
6387         This incorporates:
6388         2017-08-09 tempname: do not depend on secure_getenv
6389         2017-08-08 extensions: add _OPENBSD_SOURCE
6390         2017-08-06 manywarnings: Add support for C++
6391         2017-08-06 warnings, manywarnings: Add support for multiple languages
6392         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
6393         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6394         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
6395         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
6396         Copy from gnulib.
6398 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
6400         Fix crashing emacs-module tests on MS-Windows
6402         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
6403         variable.
6404         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
6405         away, without displaying the Abort dialog, which waits for the user.
6407         * test/src/emacs-module-tests.el (module--test-assertion): Run the
6408         inferior Emacs with the w32 abort dialog disabled.  Expect the
6409         status of the aborted Emacs sub-process to be 3 on MS-Windows and
6410         2 on MS-DOS.
6412 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
6414         dired-delete-file:  Dont't ask for empty dirs
6416         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
6417         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
6419         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
6420         New auxiliar macro.
6421         (dired-test-bug27940): Add new test.
6423 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
6425         Ask files for deletion in buffer order: top first, botton later
6427         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
6428         Call `nreverse' t invert the output of `dired-map-over-marks'.
6430 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
6432         Use help-mode xrefs in describe-font
6434         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
6435         (Bug#27890).
6437 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
6439         Don't try to jump to non-existent part (bug#28013)
6441         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
6442         the next part if there is the only one part in the article (bug#28013).
6444 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
6446         Replace some uses of eval
6448         There are a number of places where eval is used unnecessarily to get
6449         or set the value of a symbol.
6450         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
6451         custom setter.
6452         * lisp/desktop.el (desktop-clear): Use set-default instead.
6453         * lisp/international/ogonek.el (ogonek-read-encoding): Use
6454         symbol-value.
6456 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
6458         Convert uses of looking-at in viper-ex to following-char
6460         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
6461         (following-char) and use it in the subsequent cond's clauses.
6462         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
6463         Convert single branch ifs to when
6465 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
6467         Some cleanup in message.el
6469         * lisp/gnus/message.el (message-cross-post-insert-note):
6470         (message-strip-forbidden-properties): Mark unused args.
6471         (message-canlock-generate): Remove extinct variable
6472         sha1-maximum-internal-length.
6473         (message-make-mail-followup-to): Use loop's thereis clause.
6475 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
6477         Document make-temp-name magic limitations
6479         * doc/lispref/files.texi (Unique File Names):
6480         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
6481         does not guarantee uniqueness on magic file names.
6483 2017-08-08  Tom Tromey  <tom@tromey.com>
6485         Show number of errors in compilation-mode mode-line
6487         Bug#25354
6488         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
6489         default value.
6490         (compilation-num-warnings-found, compilation-num-infos-found): New
6491         defvars.
6492         (compilation-mode-line-errors): New defconst.
6493         (compilation-face): Remove.
6494         (compilation-type, compilation--note-type): New functions.
6495         (compilation-parse-errors): Call compilation--note-type.
6496         (compilation-start): Include compilation-mode-line-errors in
6497         mode-line-process.
6498         (compilation-setup): Initialize compilation-num-* variables to 0.
6499         (compilation-handle-exit): Include compilation-mode-line-errors in
6500         mode-line-process.
6501         * doc/emacs/building.texi (Compilation): Document new feature.
6503 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
6505         Do some cleanup in mailcap.el
6507         * lisp/net/mailcap.el: Use lexical-binding.
6508         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
6509         destructuring.
6510         (mailcap-mime-data): Remove some entries for ancient functions.
6511         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
6512         (mailcap-parse-mimetype-file): Just use append.
6513         (mailcap-command-p): Remove unused function.
6515 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
6517         query-replace: Undo replacements performed with 'comma
6519         During a `query-replace', the char ',' replaces the character
6520         at point and doesn't move point;  right after, the char 'u'
6521         must undo such replacement (Bug#27268).
6522         * lisp/replace.el (replace--push-stack):
6523         New macro extracted from `perform-replace'.
6524         (perform-replace): Use it.
6525         * test/lisp/replace-tests.el (query-replace--undo): Add test.
6527 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6529         Don't define gv expanders in compiler's runtime (Bug#27016)
6531         This prevents definitions being compiled from leaking into the current
6532         Emacs doing the compilation.
6533         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
6534         of `put' with `eval-and-compile'.
6535         * test/lisp/emacs-lisp/gv-tests.el: New tests.
6537 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6539         Let the cl-typep effects of defclass work during compilation (Bug#27718)
6541         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
6542         instead of `put'.
6543         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
6544         (eieio-tests--dummy-function): Remove.
6545         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
6546         expect to fail if compiled.
6548 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
6549             Noam Postavsky  <npostavs@gmail.com>
6551         Let `define-symbol-prop' take effect during compilation
6553         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
6554         (Fget): Consult it.
6555         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
6556         it to nil.
6557         (byte-compile-define-symbol-prop): New function, handles compilation
6558         of top-level `define-symbol-prop' and `function-put' calls by putting
6559         the symbol setting into `overriding-plist-environment'.
6561 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
6563         Add a test of handling of circular values to testcover-tests
6565         * test/lisp/emacs-lisp-testcover-resources/testcases.el
6566         (testcover-testcase-cyc1): New function.
6567         (testcover-tests-circular-lists-bug-24402): New test.
6569 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
6571         Don't error on circular values in testcover
6573         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
6574         Consider circular lists to be non-equal instead of signaling error.
6576 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
6578         Catch argument and macroexpansion errors in ert
6580         This kludge catches errors caused by evaluating arguments in ert's
6581         should, should-not, and should-error macros; it also catches
6582         macroexpansion errors inside of the above macros (Bug#24402).
6584         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
6585         (ert--expand-should-1): Catch macroexpansion errors.
6586         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
6587         (ert-test-should-error-macroexpansion): Tests for argument and
6588         expansion errors.
6590 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6592         Revert "Add Enchant support to ispell.el (Bug#17742)"
6594         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
6596 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6598         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
6600         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
6602 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6604         Add support for arguments in ALTERNATE_EDITOR to emacsclient
6606         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
6607         corresponding command-line argument, into space-separated tokens.
6608         * etc/NEWS: Document.
6609         * test/lib-src/emacsclient-tests.el: Add a test.
6611 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6613         Add Enchant support to ispell.el (Bug#17742)
6615         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
6616         (ispell-really-enchant): Add variable.
6617         (ispell-check-version): If using Enchant, check it’s new enough (at
6618         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
6619         without.)
6620         (ispell-enchant-dictionary-alist): Add variable.
6621         (ispell-find-enchant-dictionaries): Add function, based on
6622         ispell-find-aspell-dictionaries.
6623         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
6624         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
6625         old ispell name to locale mapping code for Enchant too.
6626         (ispell-send-replacement): Make it work with Enchant.
6628 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
6630         Allow async command output buffer to be shown only on output
6632         * lisp/simple.el (async-shell-command-display-buffer): Add
6633         defcustom.
6634         (shell-command): Use the new defcustom to determine whether to show
6635         the buffer immediately, or add a process filter that shows it only
6636         when there is some output.
6637         * etc/NEWS: Document the new variable.
6638         * doc/emacs/misc.texi: Likewise.
6640         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
6642 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
6644         Fix infinite recursion under prettify-symbols-mode and linum-mode
6646         * src/xdisp.c (get_overlay_strings_1)
6647         (handle_single_display_spec, push_prefix_prop): Invalidate the
6648         composition information before starting to iterate on a string.
6649         Otherwise we might think in set_iterator_to_next that we are
6650         delivering characters from a composition, and do all kinds of
6651         nonsensical things, like over-step the string end.  (Bug#27761)
6653 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6655         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
6657 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
6659         Fix doc-string of `delete-other-windows'
6661         * lisp/window.el (delete-other-windows): Fix doc-string.
6663 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
6665         Fix a couple more make-temp-file races
6667         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
6668         Use make-temp-name, not make-temp-file with retry.
6669         (basic-save-buffer-2): Use condition-case, instead of
6670         unwind-protect with a success flag.
6672 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
6674         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
6676         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
6677         characters following filename in grep context lines.
6678         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
6679         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
6680         (grep-regexp-alist): Recombine their contents here.
6681         (grep-mode):
6682         * lisp/cedet/semantic/symref/grep.el
6683         (semantic-symref-parse-tool-output-one-line):
6684         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
6685         `grep-regexp-alist' rather than the function.
6687 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
6689         Fix some crashes on self-modifying Elisp code
6691         Prompted by a problem report by Alex in:
6692         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
6693         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
6694         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
6695         it is likely to run a bit faster with typical hardware caches.
6696         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
6697         self-modifying S-expressions.
6698         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
6699         instead of trusting an Flength prepass, to avoid problems when the
6700         code is self-modifying.
6701         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
6702         where either will do.  This is mostly to document the fact that
6703         the value must be a proper list.  It's also a tiny bit faster on
6704         typical machines nowadays.
6705         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
6706         (eval_sub): Check that the args are a list as opposed to some
6707         other object that has a length. This prevents e.g. (if . "string")
6708         from making Emacs dump core in some cases.
6709         * test/src/eval-tests.el (eval-tests--if-dot-string)
6710         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
6711         New tests.
6713 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
6715         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
6717 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6719         Minor tweak in a dired test
6721         * test/lisp/dired-tests.el (dired-test-bug27968):
6722         Ensure the new header has different length than the original one.
6724 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6726         dired-delete-file: Do not TAB complete the user answer
6728         This action might delete directories containing valuable information.
6729         Before previous commit, we prompted users with `yes-or-no-p'
6730         which doesn't TAB complete the user answer.  Let's play safe and
6731         keep requiring full answers.
6732         * lisp/dired.el (dired-delete-file): Use `read-string'
6733         instead of `completing-read' to read the user answers.
6735 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6737         dired-do-delete: Allow to delete dirs recursively without prompts
6739         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
6740         'all', to delete all directories recursively and no prompt anymore.
6741         'quit', to cancel directory deletions (Bug#27940).
6742         Show help message when user inputs 'help'.
6743         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
6744         so that we can overwrite its global value.
6745         Wrapp the loop within a catch '--delete-cancel to catch when
6746         the user abort the directtry deletion.
6747         * doc/emacs/dired.texi (Dired Deletion): Update manual.
6748         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
6749         Announce this change.
6751 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
6753         Fix a couple of make-temp-file races
6755         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
6756         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
6757         Use make-temp-file, not make-temp-name, to avoid an unlikely race
6758         that could lose data.  Remove the deletion hook as quickly as
6759         possible after the file is renamed; though a race still remains
6760         here, it is smaller than before.
6762 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6764         Dired w/ eshell-ls: Handle shell wildcards in file name
6766         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
6767         Use eshell-extended-glob (Bug#27844).
6768         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
6770 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
6772         dired-revert: save line numbers instead of positions
6774         Positions might change if the length of one dired header line
6775         changes; this happen, for instance, if we add new files.
6776         Instead, line numbers are invariant under shrinks/enlargements
6777         of the file header.
6778         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
6779         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
6780         (dired-restore-positions): Use forward-line to restore the original
6781         position (Bug#27968).
6782         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
6784 2017-08-06  Tom Tromey  <tom@tromey.com>
6786         Respect comment-auto-fill-only-comments
6788         Respect comment-auto-fill-only-comments when auto-filling and a
6789         comment syntax is defined.
6791         * lisp/newcomment.el (comment-indent-new-line): Do not check
6792         comment-auto-fill-only-comments.
6793         * lisp/simple.el (internal-auto-fill): New defun.
6794         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
6795         auto_fill_function.
6796         (syms_of_cmds): Define Qinternal_auto_fill.
6798 2017-08-05  Richard Stallman  <rms@gnu.org>
6800         * etc/tutorials/TUTORIAL: Update.
6802 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6804         Unify CNS11643-15 in a way that avoids segfaults
6806         * lisp/international/mule-conf.el: Redo unification of
6807         cns11643-15.  (Bug#27964)
6808         (chinese-cns11643-15): Add the missing :unify-map attribute.
6810 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6812         Avoid segfaults while producing Punct.el
6814         * lisp/international/mule-conf.el: Undo unification of
6815         cns11643-15, as that causes segfaults during bootstrap.
6816         (Bug#27964)
6818 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6820         Make header line in some modes be sensitive to display-line-numbers
6822         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
6823         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
6824         (tabulated-list-print-entry): Account for the width taken by
6825         line-number display.  (Bug#27895)
6827 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6829         Fix a bug in 'generate-new-buffer-name'
6831         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
6832         nil before calling string-equal, since the latter will compare
6833         "nil and 'nil' as equal.  (Bug#27966)
6835         * test/src/buffer-tests.el
6836         (test-generate-new-buffer-name-bug27966): New test.
6838 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6840         Unify CNS11643-15
6842         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
6843         unify-charset form for it.  (Bug#27964)
6845 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6847         Improve test of error message when Emacs cannot be suspended
6849         * lisp/term/x-win.el (x-win-suspend-error):
6850         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
6851         message.  (Bug#27901)
6853 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
6855         Make "C-h o" show faces as well as variables
6857         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
6858         the placement of variables/faces in describe-symbol, to put more
6859         emphasis on the variable entry rather than the face.  (Bug#24543)
6861 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6863         Fix files-tests.el for MS-Windows
6865         * test/lisp/files-tests.el
6866         (files-tests--file-name-non-special--subprocess): Fix this test
6867         for MS-Windows.
6869 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
6871         Improve documentation of 'region-extract-function'
6873         * lisp/simple.el (region-extract-function): Rename the argument to
6874         METHOD.  Doc fix.  (Bug#27927)
6876 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6878         Merge from gnulib
6880         This incorporates:
6881         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
6882         2017-08-01 manywarnings: port to 32-bit GCC bug
6883         * lib/gnulib.mk.in: Regenerate.
6884         * m4/manywarnings.m4: Copy from gnulib.
6886 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6888         Port recent rename changes to Ubuntu 14.04
6890         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
6891         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
6893 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
6895         insert-directory-wildcard-in-dir-p: Tweak regexp
6897         This function must return non-nil for a wildcard like '/*/*.txt'.
6898         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
6899         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
6900         Add test.
6902 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
6904         Implement iterator generator for avl-trees.
6906         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
6908 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6910         ls-lisp: Drop eshell dependencies
6912         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
6913         expand the wildcards.
6914         Suggested by Fabrice Popineau in:
6915         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
6916         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
6918 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6920         Fix dired-test-bug27631 on MS-Windows
6922         Skip the test if Dired use 'ls' emulation with lisp.  The same
6923         bug is tested in their respective test suites: ls-lisp-tests.el
6924         and em-ls-tests.el.
6925         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
6926         or 'eshell' features are enabled.
6928 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
6930         Fix dired-test-bug25609 on MS-Windows
6932         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
6933         pass temporary files through file-truename, to avoid bogus
6934         failures due to file-name comparison as strings.
6936 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
6938         Fix 2 tests that fail in MS-Windows
6940         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
6941         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
6942         Add comments to explain the test logic.
6943         Pass '--binary' option to 'patch' program in windows environments.
6944         Check explicitly that a backup is created before compare file contents.
6946         * test/lisp/dired-tests.el (dired-test-bug25609):
6947         Declare variable 'dired-dwim-target' right before the test.
6948         Add comments to explain the test logic.
6949         Ensure, before test the bug condition, that we are displaying the
6950         2 dired buffers created in this test, and no other dired buffer
6951         is shown.
6953 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6955         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
6957         * lisp/files.el (insert-directory): Don't hardcode "-c".
6958         * lisp/term.el (term, ansi-term): Use shell-file-name.
6960 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
6962         Fix version numbers for some GnuTLS features
6964         Problem reported by Glenn Morris (Bug#27708#58).
6965         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
6966         New macro.  Use it instead of low-level version number checks.
6967         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
6968         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
6969         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
6970         (HAVE_GNUTLS3_HMAC): Remove, since these were available
6971         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
6972         is defined.  Remove all uses; this simplifies the code a bit.
6974 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
6976         Port recent rename changes to RHEL 7 + NFS
6978         Problem reported by Ted Zlatanov in:
6979         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
6980         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
6981         with errno == EINVAL when it is not supported.  So treat that case
6982         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
6983         nil nor an integer, just call plain rename; this avoids an extra
6984         syscall to renameat2 when the latter fails with errno == EINVAL or
6985         ENOSYS or ENOENT.
6987 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6989         Port GnuTLS usage to Ubuntu 16.04.2 LTS
6991         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
6992         later, as opposed to the old 3.4.0 or later.
6994 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6996         Simplify configuration of HAVE_GNUTLS3 etc.
6998         There's only one GnuTLS, so configuring these symbols at
6999         'configure' time is overkill.  Simplify things by moving their
7000         configuration to src/gnutls.h (Bug#27708).
7001         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
7002         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
7003         from here ...
7004         * src/gnutls.h: ... to here, and simplify.
7006 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
7008         Default to --with-mailutils if it is installed
7010         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
7011         is installed.  See:
7012         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
7014 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
7016         Clarify when autogen.sh should run only autoconf
7018         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
7019         not plain ‘./autogen.sh’, to make it clear that only
7020         autoconf-related tools should be run here.
7022 2017-08-02  Toon Claes  <toon@iotcl.com>
7024         .gitlab-ci.yml: Use stretch Debian image instead of unstable
7026 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
7028         Add debugging messages to a Dired test
7030         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
7031         positions saved and restored by dired-revert to try and find
7032         out why the test fails on Hydra.
7034 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
7036         ls-lisp: Autoload call instead of cookie
7038         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
7040 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
7042         When renaming a file, ask only if EEXIST or ENOSYS
7044         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
7045         more than once on FILE.  Use renameat_noreplace, so that we can
7046         ask the user (and unlink and retry) only if this fails with errno
7047         == EEXIST or ENOSYS.  This avoids the need to ask the user for
7048         permission to do an operation that will fail anyway.  Simplify
7049         computation of ok_if_already_exists for subsidiary functions.
7050         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
7051         if it works, as this avoids the need to link and unlink.
7052         * src/lisp.h (renameat_noreplace): New decl.
7053         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
7054         (renameat_noreplace): New function.
7056 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
7058         When creating a link, ask only if EEXIST
7060         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
7061         Ask the user (and unlink and retry) only if link creation fails
7062         with errno == EEXIST.  This avoids the need to ask the user for
7063         permission to do an operation that will fail anyway.
7065 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
7067         dired-align-file: Inherit text properties in inserted spaces
7069         * lisp/dired.el (dired-align-file): Inherit text
7070         properties in inserted spaces (Bug#27899).
7071         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
7073 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
7075         Don't assume /bin/sh as the 'sh' location in the local host
7077         * lisp/dired.el (dired-insert-directory): Use executable-find in
7078         a local host.
7080 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
7082         Move dired tests using ls emulation to different files
7084         Suggested in:
7085         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
7086         * test/lisp/dired-tests.el (dired-test-bug27693)
7087         (dired-test-bug27762, dired-test-bug27817)
7088         (dired-test-bug27631, dired-test-bug27843): Delete those
7089         parts requiring either ls-lisp or eshell-ls.
7091         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
7092         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
7093         Add all dired tests using ls-lisp here.
7095         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
7096         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
7097         all dired tests using eshell-ls here.
7099 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
7101         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
7103 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
7105         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
7106         Say the handle is already decoded.
7107         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
7109 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
7111         Don’t worry about unlink if errno == ENOENT
7113         * src/fileio.c (Fdelete_file):
7114         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
7115         remove a file if unlink fails with errno == ENOENT.  This can
7116         happen even if Emacs is the only program removing the file, in
7117         case an NFS cache overflows.  The file does not exist if errno ==
7118         ENOENT, so it is OK to proceed.
7120 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
7122         Fix misalignment in Dired when dired-directory is a cons
7124         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
7125         New defuns.
7126         (dired-internal-noselect): Call dired--align-all-files when
7127         dired-directory is a cons (Bug#27762).
7128         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
7130 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
7132         Fix some dired-tests.el on MS-Windows
7134         * test/lisp/dired-tests.el (dired-test-bug27243-01)
7135         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
7136         file-truename, to avoid bogus failures due to file-name comparison
7137         as strings.
7139 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
7141         Insert subdir content if dir-or-list is a string w/o wildcards
7143         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
7144         Append '("-d") into 'eshell-ls-dired-initial-args'
7145         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
7146         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
7148 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
7150         Update todo-mode defcustoms in a less hideous way
7152         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
7153         (todo-reevaluate-default-file-defcustom)
7154         (todo-reevaluate-category-completions-files-defcustom)
7155         (todo-reevaluate-filter-files-defcustom): Delete these functions.
7156         (todo-update-filelist-defcustoms): New function.  This replaces
7157         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
7158         property instead of re-evaluating the defcustoms.
7159         (todo-add-file, todo-rename-file, todo-delete-file)
7160         (todo-delete-category, todo-move-category)
7161         (todo-convert-legacy-files, todo-check-file): Replace call of
7162         todo-reevaluate-filelist-defcustoms by
7163         todo-update-filelist-defcustoms.
7164         (todo-show, todo-category-completions): Replace call of
7165         todo-reevaluate-* function by use of 'custom-type' property.
7167 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
7169         Add more should form calls in a failing dired test
7171         Some dired tests fail intermittently in hydra.  Add few
7172         more should form calls for debugging.
7173         See:
7174         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
7175         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
7176         forms for debugging.
7178 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
7180         Follow SAUNA recommendations for display-line-numbers-type
7182         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
7184         * lisp/menu-bar.el (display-line-numbers-type): Declare.
7186 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7188         Avoid most stat calls when completing file names
7190         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
7191         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7192         * m4/d-type.m4: New file, copied from gnulib.
7193         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
7194         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
7195         (dirent_type): New function.
7196         (file_name_completion): Use it, to avoid unnecessary calls to
7197         stat-like functions on GNU/Linux and other platforms with d_type.
7198         (file_name_completion_stat): Just follow the link; there is no
7199         need to try first with AT_SYMLINK_NOFOLLOW since the directory
7200         entry was already checked to exist.
7202 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
7204         dired-tests: Unload tested features after test them
7206         Some tests are for Dired with ls-lisp or eshell-ls.
7207         Requiring these features add an advice on `dired' and
7208         might affect other tests.
7209         Do not require these features at the top of the file; require
7210         then inside the tests and unload then at the end.
7211         * test/lisp/dired-tests.el (dired-test-bug27693)
7212         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
7213         require ls-lisp and/or eshell-ls inside the test; unload the
7214         features at the end.
7216 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
7218         Small adaptions for directory wildcards
7220         * lisp/dired.el (dired-insert-directory): Remove "--dired"
7221         when there are wildcards, and the directory is remote.
7223         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
7224         Adapt docstring.
7225         (tramp-test17-dired-with-wildcards): Skip for all methods but
7226         those from tamp-sh.p.
7228 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
7230         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
7231         string bounds.
7233 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7235         Merge from gnulib
7237         This incorporates:
7238         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
7239         * lib/tempname.c: Copy from gnulib.
7241 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
7243         ls-lisp: Do not require em-glob at top of the file
7245         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
7246         not break the Emacs build.
7247         See following thread for details:
7248         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
7249         * lisp/ls-lisp.el (dired-goto-next-file)
7250         (dired-read-dir-and-switches, eshell-extended-glob):
7251         Add function declarations.
7252         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
7254 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
7256         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
7258         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
7260 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
7262         Change default CSS property face
7264         * lisp/textmodes/css-mode.el (css-property): Inherit from
7265         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
7266         distinguish CSS properties from variables.
7268 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
7270         Dired: Handle posix wildcards in directory part
7272         Allow Dired to handle calls like
7273         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
7274         the directory part of the file argument (Bug#27631).
7275         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
7276         (insert-directory-clean): New defun extracted from insert-directory.
7277         (insert-directory)
7278         * lisp/dired.el (dired-internal-noselect)
7279         (dired-insert-directory): Use the new predicate; when it's true,
7280         handle the directory wildcards with a shell call.
7281         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
7282         (eshell-ls-unload-hook): New defun.  Use it in
7283         eshell-ls-unload-hook instead of an anonymous function.
7284         (eshell-ls--dired)
7285         * lisp/ls-lisp.el (ls-lisp--dired):
7286         Advice dired to handle wildcards in the directory part with both
7287         eshell-ls and ls-lisp.
7288         * etc/NEWS: Announce it.
7289         * doc/emacs/dired.texi (Dired Enter): Update manual.
7290         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
7292 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
7294         * lisp/find-lisp.el: Enable lexical binding
7296         * lisp/find-dired.el: Enable lexical binding
7298 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
7300         * lisp/kmacro.el: Use lexical binding.
7302 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
7304         Use lexical-binding in dired-aux.el
7306         * lisp/dired.el: Use lexical binding.
7307         (dired-do-shell-command): Remove unused bindings.
7309 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
7311         * lisp/ido.el: Use lexical binding.
7313         * lisp/whitespace.el: Use lexical binding.
7315 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
7317         artist.el: Avoid error with keyboard command invocation
7319         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
7320         Call x-popup-menu with t instead of last-nonmenu-event as the
7321         value of the position argument; this allows invoking the
7322         command from the keyboard without raising an error (bug#27819).
7324 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
7326         Preserve point under 'dired-auto-revert-buffer' (third case)
7328         * lisp/files.el (find-file): Use pop-to-buffer-same-window
7329         instead of switch-to-buffer.  This preserves Dired window
7330         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
7332         * test/lisp/dired-tests.el (dired-test-bug27243-01)
7333         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
7334         The first two replace a previous test that combined them; that
7335         test intermittently fails in the Hydra build system, so maybe
7336         separating the two cases will help locate the point of
7337         failure.  The third test involves find-file but is here
7338         because it, like the others, is testing the effect of
7339         dired-auto-revert-buffer.
7341 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
7343         Do not unset user key remaps in dired-x
7345         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
7346         sets dired-x-hands-off-my-keys.  (Bug#27828)
7348 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
7350         Improve documentation of 'occur'
7352         * doc/emacs/search.texi (Other Repeating Search):
7353         * lisp/replace.el (occur): Make the documentation of 'occur' be
7354         more accurate when matches overlap.  (Bug#27818)
7356 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
7358         Minor copyedits of comments in faces.el
7360         * lisp/faces.el (face-font-family-alternatives): More info about
7361         requirements from "Monospace Serif".
7363 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
7365         Do not worry about paxctl on newer NetBSD
7367         Problem reported privately by Thomas Klausner.
7368         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
7369         on newer NetBSD platforms, where it is not needed.  Also use it to
7370         simplify Cygwin diagnostic.
7372 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
7374         Clarify documentation of ':inherit' face attribute
7376         * doc/lispref/display.texi (Face Attributes): Document the special
7377         treatment of 'unspecified' in the ':inherit' attribute.
7379 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7381         * lisp/password-cache.el (password-data): Use a hash-table
7383         * lisp/auth-source.el (auth-source-magic): Remove.
7384         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
7385         format of password-data.
7386         (auth-source-format-cache-entry): Just use a cons.
7388         (password-cache-remove, password-cache-add, password-reset)
7389         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
7391         (Bug#26699)
7393 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7395         * lisp/subr.el (define-symbol-prop): New function
7397         (symbol-file): Make it find symbol property definitions.
7399         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
7400         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
7401         (ert-describe-test): Adjust call to symbol-file accordingly.
7403 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7405         * lisp/subr.el (method-files): Move function to cl-generic.el
7407         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
7408         (cl--generic-method-files): New function, moved from subr.el.
7409         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
7410         * test/lisp/emacs-lisp/cl-generic-tests.el:
7411         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
7413 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
7415         Preserve this-command-keys across recursive-edit invocations
7417         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
7418         restore this-command-keys, to preserve it across recursive-edit.
7419         (Bug#27470)
7421 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
7423         Improve doc string of 'locate-dominating-file'
7425         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
7427 2017-07-28  Drew Adams  <drew.adams@oracle.com>
7429         New commands 'apropos-local-variable', 'apropos-local-value'
7431         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
7432         New functions.  (Bug#27424)
7434         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
7435         and 'apropos-local-value'.
7436         * etc/NEWS: Mention the new commands.
7438 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7440         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
7442         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
7444 2017-07-27  Alan Mackenzie  <acm@muc.de>
7446         Fix C++ class initializers not always being fontified at mode start.
7448         The problem here happened when an "outer list" of declarations moved beyond an
7449         "inner list" containing class initializers.  These weren't being checked for
7450         by the code.
7452         Also, fix places in c-get-fontification-context where point is undefined.
7454         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
7455         not-front-decl is set, test for class initializers.  Also, anchor point in
7456         places where it is moved and is otherwise undefined.
7458 2017-07-27  Alan Mackenzie  <acm@muc.de>
7460         Fix variables in C++ "for" statement not always being fontified.
7462         The error happened when there was a comma inside template delimiters.
7464         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
7465         statements, recognize template delimiters containing "," and "&".
7467 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
7469         Add watchdog process to tramp-test36-asynchronous-requests
7471         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
7472         New defun.
7473         (tramp-test36-asynchronous-requests): Use a watchdog process,
7474         listening for SIGUSR1.
7476 2017-07-27  Alan Mackenzie  <acm@muc.de>
7478         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
7480         If a declarator is so cut off, extend the fontification chunk to include it.
7482         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
7483         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
7485 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7487         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
7489         (smerge--refine-long-words): New var.
7490         (smerge--refine-chopup-region): Use it.
7492 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7494         * lisp/url/url-cookie.el: Use lexical-binding
7496         (url-cookie-host-can-set-p): Remove unused var `last'.
7497         Use string-suffix-p.
7498         (url-cookie-list): De morgan.
7499         (url-cookie-quit): Remove.
7500         (url-cookie-mode): Inherit from special-mode.
7501         (url-cookie-mode-map): Simplify accordingly.
7503 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7505         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
7507         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
7509 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7511         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
7513         Record this as the function's definition site if it's the first def.
7515 2017-07-26  Glenn Morris  <rgm@gnu.org>
7517         * doc/lispref/loading.texi (When to Autoload): New section.
7519 2017-07-26  Glenn Morris  <rgm@gnu.org>
7521         Stop using unibyte buffers for ert backtraces
7523         * lisp/emacs-lisp/ert.el
7524         (ert-results-pop-to-backtrace-for-test-at-point):
7525         Set multibyte true, not false.  This copies a
7526         debugger-setup-buffer change from 2009-08-30, and stops the
7527         "Backtrace for" header line containing ^X and ^Y.
7529 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
7531         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
7533         * lisp/cedet/semantic/symref/grep.el
7534         (semantic-symref-grep--line-re): Delete.
7535         (semantic-symref-parse-tool-output-one-line):
7536         Use regexp and group numbers from (grep-regexp-alist).
7538 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
7540         Fix cl-defmethod indentation
7542         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
7543         Declare (indent defun).  Fixes bug#23994.
7545 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
7547         Fix two customization types in frame.el
7549         * lisp/frame.el (window-divider-default-bottom-width)
7550         (window-divider-default-right-width): Fix customization types.
7552 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
7554         Dired: Support eshell-ls from the beginning if the user wants to
7556         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
7557         as well (Bug#27817).
7558         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
7560 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
7562         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
7564 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7566         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
7568         Adjust to change in cl-generic-ensure-function.
7570 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
7572         ls-lisp: Add an unload function and enable lexical binding
7574         Enable lexical binding.
7575         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
7576         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
7578 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
7580         register-read-with-preview: Quit if user input C-g or ESC
7582         * lisp/register.el (register-read-with-preview):
7583         Quit if user input C-g or ESC (bug#27634).
7584         * doc/emacs/regs.texi (Registers): Update manual.
7585         * test/lisp/register-tests.el (register-test-bug27634): Add test.
7587 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
7589         Recognize MirBSD Korn shell rc file
7591         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
7593 2017-07-25  Glenn Morris  <rgm@gnu.org>
7595         * configure.ac: Be explicit about ImageMagick version in summary.
7597 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
7599         Properly align global lispsym
7601         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
7602         Lisp_Symbols inside struct.
7603         * src/alloc.c (sweep_symbols): Update use of lispsym.
7604         * src/lisp.h (builtin_lisp_symbol): Likewise.
7606 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7608         Do not use ImageMagick 7 and later
7610         Suggested by Glenn Morris (Bug#25967#15).
7611         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
7613 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7615         * lisp/progmodes/perl-mode.el: Add support for indented here docs
7617         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
7618         Recognize the new <<~ syntax for indented here docs.
7619         (perl-syntax-propertize-special-constructs): Adjust search of the
7620         end of here docs accordingly.
7622         * test/manual/indent/perl.perl: Add test for indented here docs.
7624 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7626         (loadhist-unload-element): Move ERT and cl-generic methods
7628         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
7629         and ert methods here.
7630         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
7632         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
7633         unload method for cl-defmethod.
7634         (cl-generic-ensure-function): Remove redundant `defalias'.
7636         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
7637         setting here...
7638         (ert-deftest): ...from here.
7639         (loadhist-unload-element): Define unload method for ert-deftest.
7641 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
7643         Fix Bug#27371
7645         * lisp/loadhist.el (loadhist-unload-element): Declare for
7646         different entry types of `load-history'.
7647         (loadhist--restore-autoload): New variable.
7648         (loadhist--unload-function): New defun.
7649         (unload-feature): Use `loadhist-unload-element'.  Recommended by
7650         Stefan Monnier.  (Bug#27371)
7652         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
7653         Check, that the `tramp-file-name' structure has been unloaded.
7655 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
7657         Ensure that we parse images right in shr.el
7659         * lisp/net/shr.el (shr-image-fetched): Go back to the
7660         beginning of the buffer before trying to parse the image
7661         fetched.
7663 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7665         Update .gitignore for Valgrind and no Automake
7667         * .gitignore: Remove .deps/ since we no longer use Automake.
7668         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
7670 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7672         Merge from gnulib
7674         This incorporates:
7675         2017-07-23 Rename module 'strftime' to 'nstrftime'
7676         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
7677         * build-aux/config.guess: Copy from gnulib.
7678         * lib/nstrftime.c: Rename from lib/strftime.c.
7679         * m4/nstrftime.m4: Rename from m4/strftime.m4.
7680         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7682 2017-07-23  Philipp Stephani  <phst@google.com>
7684         Add 'rx' pattern for pcase.
7686         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
7687         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
7689 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
7691         Use a named function for global minor mode turn-on argument
7693         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
7694         New function.
7695         (global-display-line-numbers-mode): Use it.
7697 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
7699         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
7701         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
7702         from 'src/emacs'.
7704         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
7705         launched outside of a macOS application bundle, change its
7706         activation policy from the default 'prohibited' to 'regular'.
7708 2017-07-23  Alan Mackenzie  <acm@muc.de>
7710         Convert CC Mode's c-found-types from an obarray to a hash table.
7712         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
7713         rather than an obarray.
7714         (c-copy-found-types): Remove.
7715         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
7716         the new hash table.
7717         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
7719 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
7721         Fix image/svg+xml display in shr
7723         * lisp/net/shr.el (shr-put-image): Display svg images as svg
7724         (bug#27799).  I suspect the previous change was checked in by
7725         accident in conjuction with some other svg changes.
7727 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
7729         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
7731 2017-07-23  Glenn Morris  <rgm@gnu.org>
7733         Don't automatically enable Gconf if Gsettings was found
7735         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
7736         Don't test for Gconf unless specifically requested.
7737         Gconf was deprecated in favor of Gsettings several years ago.
7739 2017-07-23  Glenn Morris  <rgm@gnu.org>
7741         * configure.ac (MODULES_SUFFIX): Always give it a value.
7743         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
7745 2017-07-23  Glenn Morris  <rgm@gnu.org>
7747         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
7749 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
7751         Add line numbers display to the Options menu
7753         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
7754         (menu-bar-display-line-numbers-mode): New defun.
7755         (menu-bar-showhide-line-numbers-menu): New defvar.
7756         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
7758 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
7760         Signal error for symbol names with strange quotes (Bug#2967)
7762         * src/lread.c (read1): Signal an error when a symbol starts with a
7763         non-escaped quote-like character.
7764         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
7765         test.
7766         * etc/NEWS: Announce change.
7768 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
7770         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
7772         It turns out that this change is not needed, and it leaves several
7773         command loops settings not done.
7775         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
7776         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
7778 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
7780         Add a minor mode interface for display-line-numbers
7782         * lisp/cus-start.el: Use the new display-line-numbers group.
7783         * lisp/display-line-numbers.el: New file.
7785         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
7786         belong to linum-mode.
7787         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
7788         * etc/NEWS: Document display-line-numbers-mode and its customization
7789         variables, and mention that display-line-numbers-width is
7790         buffer-local.
7792         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
7793         typo.
7795 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
7797         Support indented HERE-DOCs in cperl-mode
7799         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
7800         indented here-docs.  (Bug#27254) (Bug#27697)
7802 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7804         Document the support for "scrollBar" X resource
7806         * doc/emacs/xresources.texi (Table of Resources): Document the new
7807         'scrollBar' setting.
7808         * etc/NEWS: Document the new 'scrollBar' setting.
7810 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
7812         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
7814         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
7815         settings.
7817 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
7819         Update ld-script mode (bug#27629)
7821         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
7822         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
7823         numbers for PROVIDE/PROVIDE_HIDDEN commands.
7824         (ld-script-builtins): New builtin function LOG2CEIL added.
7826 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7828         Index 'rectangle' in the ELisp manual
7830         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
7831         (Bug#27541)
7833 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7835         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
7837 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
7839         Doc fixes for kmacro.el functions
7841         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
7842         (kmacro-end-and-call-macro): Don't use "permanent name", as that
7843         could be misinterpreted.  (Bug#27492)
7845 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
7847         ElDoc: add docstrings and minor refactoring
7849         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
7850         docstring.
7851         (turn-on-eldoc-mode): Fix capitalization.
7852         (eldoc--supported-p): Add docstring.
7853         (eldoc-schedule-timer): Add docstring and use
7854         'eldoc--supported-p'.
7855         (eldoc-message): Add docstring and make calling convention
7856         clearer.
7857         (eldoc--message-command-p):
7858         (eldoc-pre-command-refresh-echo-area):
7859         (eldoc-display-message-p):
7860         (eldoc-display-message-no-interference-p):
7861         (eldoc-print-current-symbol-info):
7862         (eldoc-docstring-format-sym-doc):
7863         (eldoc-add-command, eldoc-add-command-completions):
7864         (eldoc-remove-command, eldoc-remove-command-completions):
7865         Add docstring.  (Bug#27230)
7867 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
7869         Mention 'C-M-i' as key binding for 'ispell-complete-word'
7871         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
7872         can also be invoked by C-M-i.  (Bug#27349)
7874 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
7876         Fix the eww-search-words description in the Emacs manual
7878         * doc/emacs/search.texi (Word Search):
7879         Include the key binding for eww-search-words in the manual.
7880         Fix the spelling of the 'eww-search-words' command.
7882 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
7884         Introduce defcustom 'executable-prefix-env'
7886         * lisp/progmodes/executable.el (executable-prefix): Update the doc
7887         string.
7888         (executable-prefix-env): New defcustom.
7889         (executable-set-magic): Use executable-prefix-env.
7891         * etc/NEWS: Document the new variable.
7893 2017-07-22  Glenn Morris  <rgm@gnu.org>
7895         * test/lisp/ibuffer-tests.el: Delete temporary files.
7897 2017-07-21  Glenn Morris  <rgm@gnu.org>
7899         Further attempt to avoid hang in network-stream-tests
7901         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
7902         Limit the time we wait for the external process.
7904 2017-07-21  Glenn Morris  <rgm@gnu.org>
7906         Stop skipping many ibuffer tests by default
7908         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
7909         Rename so it sorts first.
7910         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
7911         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
7912         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
7913         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
7914         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
7915         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
7916         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
7918 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7920         Use lexical-binding in todo-mode.el
7922         Adjust code accordingly and make various minor improvements.
7924         * lisp/calendar/todo-mode.el: Enable lexical-binding.
7925         (dayname, monthname, day, month, year): Make forward defvars
7926         of these keywords from macros defined in calendar.el; wrap
7927         them in with-no-warnings.
7928         (todo-files, todo-files-function, todo-date-pattern)
7929         (todo-mode-line-function, todo-show, todo-forward-category)
7930         (todo-edit-item--header, todo-set-category-number)
7931         (todo-adjusted-category-label-length)
7932         (todo-total-item-counts, todo-filter-items)
7933         (todo-print-buffer-function, todo-convert-legacy-date-time)
7934         (todo-category-number, todo-category-completions)
7935         (todo-read-file-name, todo-read-category)
7936         (todo-validate-name, todo-read-date)
7937         (todo-set-show-current-file, todo-modes-set-1)
7938         (todo-modes-set-2, todo-modes-set-3, todo-mode):
7939         Use #' instead of ' to quote functions.
7940         (todo-files): Use \' instead of $ in regexp.
7941         (todo--files-type-list): New function.
7942         (todo-default-todo-file, todo-category-completions-files)
7943         (todo-filter-files, todo-multiple-filter-files)
7944         (todo-reevaluate-default-file-defcustom)
7945         (todo-reevaluate-category-completions-files-defcustom)
7946         (todo-reevaluate-filter-files-defcustom): Use it.
7947         (todo-show, todo-rename-file, todo-move-category)
7948         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
7949         (todo-item-undone, todo-unarchive-items, todo-search)
7950         (todo-filter-items, todo-filter-items-1, todo-find-item)
7951         (todo-category-select, todo-read-date)
7952         (todo-nondiary-marker-matcher, todo-date-string-matcher)
7953         (todo-diary-expired-matcher, todo-convert-legacy-files)
7954         (todo-read-category): Reformat to avoid code hiding behind a
7955         more deeply embedded element.
7956         (todo-forward-category, todo-set-category-number):
7957         Use 'funcall' instead of 'apply'.
7958         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
7959         (todo-edit-category-diary-inclusion)
7960         (todo-insert-sort-button, todo-insert-category-line)
7961         (todo-multiple-filter-files): Mark unused local variables.
7962         (todo-edit-item--header, todo-move-item, todo-print-buffer)
7963         (todo-edit-item--header, todo-move-item, todo-check-file)
7964         (todo-edit-item--next-key): Remove unused local variables.
7965         (todo-insert-sort-button, todo-insert-category-line):
7966         Use a closure instead of a backquoted lambda.
7967         (todo-update-categories-display, todo-print-buffer): Simplify code.
7968         (todo-print-buffer-function): Document calling convention.
7969         (todo-category-completions): Use cl-pushnew instead of add-to-list.
7970         (todo-mode-map, todo-archive-mode-map)
7971         (todo-categories-mode-map, todo-filtered-items-mode-map):
7972         Remove superfluous call of suppress-keymap, since it's already
7973         in the parent special-mode-map.
7975 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
7977         dired: Revert buffer when DIRNAME is a cons
7979         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
7980         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
7981         Update the comments.
7982         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
7984 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
7986         Handle when dired-directory is a cons in some Dired functions
7988         * lisp/dired-aux.el (dired-rename-subdir-1)
7989         * lisp/dired-x.el (dired-mark-omitted):
7990         Handle when dired-directory is a cons.
7992 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
7994         Make eshell-next-prompt more reliable (Bug#27405)
7996         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
7997         `eshell-prompt-regexp' (and `read-only' text-property if
7998         `eshell-highlight-prompt' is set) rather than trying to use
7999         `forward-paragraph'.
8000         (eshell-previous-prompt): Don't count prompt on current line.
8002 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
8004         Simplify recent gnutls.c changes
8006         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
8007         All uses replaced by calls to explicit_bzero; that’s clear enough.
8008         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
8009         coalescing duplicate actions.  There is no need to invoke
8010         SAFE_FREE before calling ‘error’.
8012 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
8014         Stylistic changes in tramp-cache.el
8016         * lisp/net/tramp-cache.el (tramp-get-file-property)
8017         (tramp-set-file-property): Use `bound-and-true-p'.  Add
8018         counter variables to `tramp-cache-unload-hook'.
8020 2017-07-20  Glenn Morris  <rgm@gnu.org>
8022         * admin/notes/hydra: Small updates.
8024 2017-07-20  Glenn Morris  <rgm@gnu.org>
8026         Make tramp unloading handle debug counter variables
8028         * lisp/net/tramp-cache.el (tramp-get-file-property)
8029         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
8031 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
8033         Fix hscrolling calculations when display-line-numbers is set
8035         * src/xdisp.c (move_it_in_display_line_to): Account for line
8036         numbers in hscrolled lines.  (Bug#27756)
8038 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
8040         Fix the bogus change made 13 years ago (bug#27084)
8042         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
8043         Fix the way to test if there is no visible header (bug#27084).
8045 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
8047         Use grep's --null option (Bug#6843)
8049         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
8050         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
8051         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
8052         constants, replacing `grep-regexp-alist'.
8053         (grep-regex-alist): Mark the variable obsolete, add a new function of
8054         the same name to replace it.
8055         (grep-compute-defaults): Compute default for
8056         `grep-use-null-filename-separator'.
8057         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
8058         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
8059         according to `grep-use-null-filename-separator'.
8060         * lisp/progmodes/xref.el (xref-collect-matches): Call
8061         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
8062         grep-regexp-alist match groups.
8063         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
8064         item under "Grep" heading as well.
8066 2017-07-19  Philipp Stephani  <phst@google.com>
8068         * src/gnutls.c (clear_storage): Define only if needed.
8070 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
8072         Adjust todo-quit to recent change in dired
8074         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
8075         bury-buffer to exit todo-mode.  This restores the desired behavior
8076         of not immediately returning to the exited todo-mode buffer on
8077         quitting another buffer, which a dired bug fix had changed (see
8078         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
8080 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
8082         Add test for bugs 7131, 27762
8084         Require 'ls-lisp' at top of the file.
8085         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
8086         New tests.
8087         (dired-test-bug27693): Delete Dired buffer at the end.
8089 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
8091         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
8093 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8095         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
8097         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
8099 2017-07-18  Glenn Morris  <rgm@gnu.org>
8101         Use a more specific test for running on hydra.nixos.org
8103         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
8104         * test/Makefile.in (WRITE_LOG):
8105         * test/lisp/filenotify-tests.el:
8106         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
8107         (eieio-test-method-order-list-6):
8108         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
8109         (eieio-test-37-obsolete-name-in-constructor):
8110         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
8112 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
8114         Avoid infloop due to Eshell's "smart" redisplay
8116         * src/xdisp.c (pos_visible_p): Save and restore the window's
8117         mode-line and header-line height.  (Bug#27752)
8119 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8121         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
8123 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
8125         Fix indentation when display-line-numbers is non-nil
8127         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
8128         to go one more tab stop to display a TAB.  (Bug#27743)
8130 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
8132         Don't use gtk_widget_get_scale_factor on old GTK3 versions
8134         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
8135         only present since GTK 3.10.
8137 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
8139         Let delete-selection-mode work with popup-menu commands (Bug#27569)
8141         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
8142         `this-command' set to the selected command.
8144 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
8146         Port gnutls.c to older (buggier?) GnuTLS
8148         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
8149         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
8150         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
8151         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
8152         perhaps hydra was using a modified GnuTLS.
8153         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
8154         is at the end of the list returned by gnutls_cipher_list,
8155         or that the earlier ciphers all have non-null names.
8157 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
8159         Fix relocation with named cell referred to by a one-symbol formula.
8161         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
8162         work also with one symbol formulas.
8164         * test/lisp/ses-tests.el
8165         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
8166         test for renaming with relocating a one symbol formula.
8168 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
8170         Fix symbol completion and document it.
8172         * doc/misc/ses.texi (Configuring what printer function
8173         applies): Add description of keys for completing local printer
8174         symbols and listing local printers in a help buffer.
8175         (Formulas): Add decription for key to list the named cell
8176         symbols in a help buffer.
8178         * lisp/ses.el (ses-completion-keys): New constant.
8179         (ses--completion-table): New defvar.
8180         (ses--list-orig-buffer): New defvar.
8181         (ses-mode-edit-map): Fixed for symbol completion, plus add
8182         help functions to list named cells or local printers.
8183         (ses-edit-cell-complete-symbol)
8184         (ses--edit-cell-completion-at-point-function): New defuns for
8185         completion during formula edition.
8186         (ses-edit-cell): Redefine dynamically edit keymap for
8187         completion keys to point at the right function.
8188         (ses-read-printer-complete-symbol)
8189         (ses--read-printer-completion-at-point-function): New defuns
8190         for completion during printer edition.
8191         (ses-read-printer): Redefine dynamically edit keymap for
8192         completion keys to point at the right function.
8193         (ses-list-local-printers): New defun.
8194         (ses-list-named-cells): New defun.
8196 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
8198         Move comments around
8200 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
8202         Make scaling work (?) on pre-GTK3 systems
8204         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
8205         (xg_get_scale): Use it on non-GTK3 systems.
8207 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
8209         Always return the GDK scale
8211         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
8213 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
8215         Remove usage of the GDK_SCALE variable
8217         * src/gtkutil.c (xg_get_gdk_scale): Remove.
8218         (xg_get_default_scrollbar_height)
8219         (xg_get_default_scrollbar_width): Pass in a frame to check for
8220         scaling.
8221         (xg_frame_set_char_size): Use the API for querying scale
8222         instead of looking at the GDK_SCALE variable.
8223         (xg_get_default_scrollbar_width): Ditto.
8224         (xg_get_default_scrollbar_height): Ditto.
8225         (xg_update_scrollbar_pos): Ditto.
8227         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
8228         frame to get the width.
8230 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
8232         Get positions of menus and tooltips right on HiDPI
8234         * src/gtkutil.c (xg_get_scale): New function.
8235         (xg_show_tooltip): Use it.
8237         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
8238         right place.
8240 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
8242         Allow user control on what starts and ends a paragraph for bidi
8244         * src/buffer.h (struct buffer): New members
8245         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
8246         * src/buffer.c (bset_bidi_paragraph_start_re)
8247         (bset_bidi_paragraph_separate_re): New setters/
8248         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
8249         bidi-paragraph-separate-re.
8250         (init_buffer_once): Init the values of bidi-paragraph-start-re and
8251         bidi-paragraph-separate-re.
8252         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
8253         New per-buffer variables.
8254         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
8255         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
8256         (bidi_move_to_visually_next): Handle correctly the case when the
8257         separator matches an empty string.  (Bug#27526)
8259         * doc/emacs/mule.texi (Bidirectional Editing):
8260         * doc/lispref/display.texi (Bidirectional Display): Document
8261         bidi-paragraph-start-re and bidi-paragraph-separate-re.
8263         * etc/NEWS: Mention bidi-paragraph-start-re and
8264         bidi-paragraph-separate-re.
8266 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
8268         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
8270 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
8272         alist-get: Add optional arg TESTFN
8274         If TESTFN is non-nil, then it is the predicate to lookup
8275         the alist.  Otherwise, use 'eq' (Bug#27584).
8276         * lisp/subr.el (alist-get): Add optional arg FULL.
8277         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
8278         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
8279         * doc/lispref/lists.texi (Association Lists): Update manual.
8280         * etc/NEWS: Announce the changes.
8281         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
8282         (test-map-elt-testfn): New tests.
8284 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
8286         Fix `tramp-test39-unload'
8288         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
8289         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
8290         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
8291         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
8292         variables and autoload functions; they are not removed.  Check
8293         also for `-function(s)'.
8295 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
8297         Preserve point under 'dired-auto-revert-buffer' (second case)
8299         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
8300         of switch-to-buffer.  This preserves Dired window point when
8301         dired-auto-revert-buffer is non-nil.  (Bug#27243)
8303         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
8305 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
8307         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
8309         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
8310         undefined to allow --with-gnutls=no builds to proceed.
8312 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
8314         * src/gnutls.c: Restore some comments.
8316 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
8318         Use memset, not bzero
8320         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
8321         of the (less-portable) bzero.
8323 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
8325         Use explicit_bzero to clear GnuTLS keys
8327         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
8328         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
8329         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
8330         * src/gnutls.c (clear_storage): New function.
8331         (gnutls_symmetric_aead): Use it instead of memset.
8333 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
8335         Merge from gnulib
8337         This incorporates:
8338         2017-07-16 explicit_bzero: new module
8339         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
8340         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
8341         * m4/string_h.m4:
8342         Copy from Gnulib.
8343         * lib/gnulib.mk.in: Regenerate.
8345 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
8347         Fix vc-src-dir-status-files
8349         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
8350         copy-paste from b1a765b3 (bug#27641).
8352 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
8354         Fix mismatched parens
8356         * etc/NEWS.21: Remove excess parenthesis in code example
8358 2017-07-16  Alan Third  <alan@idiocy.org>
8360         Add missing declare-function for new function
8362         * lisp/frame.el: Add declare function for
8363         ns-mouse-absolute-pixel-position.
8365 2017-07-16  R. Bernstein  <rocky@gnu.org>
8367         Realgud for tango themes
8369 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
8371         Fix test when running from test/lisp/subr-tests.elc
8373         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
8374         assume a lambda expression will be `equal' to its quoted form.  That's
8375         not true if the lambda expression has been compiled.
8377 2017-07-15  Alan Third  <alan@idiocy.org>
8379         Fix some frame handling issues on NS
8381         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
8382         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
8383         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
8384         relationship if it's broken.
8386 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
8388         ls-lisp: Fix file size format
8390         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
8391         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
8392         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
8394 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8396         Avoid link errors with older versions of GnuTLS
8398         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
8399         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
8400         calls GnuTLS functions which might be unavailable in older
8401         versions of GnuTLS.
8403 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8405         Improve comments in faces.el
8407         * lisp/faces.el (face-font-family-alternatives): Improve
8408         commentary.
8410 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8412         Improve some GnuTL error messages
8414         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
8415         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
8417 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8419         Fix the Elisp manual wrt GnuTL cryptography
8421         * doc/lispref/elisp.texi (Top): Update the master menu.
8422         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
8423         avoid errors in makeinfo.
8425 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8427         Fix compilation of gnutls.c with older GnuTLS
8429         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
8430         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
8431         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
8433 2017-07-15  rocky  <rb@dustyfeet.com>
8435         Realgud for two more light themes
8437 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8439         Rearrange MS-Windows code that dynamically loads GnuTLS functions
8441         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
8442         of functions using the same preprocessing directives as in the code.
8444 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
8446         Fix the MS-Windows build broken in gnutls.c
8448         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
8449         loading code to after 'capabilities' has been calculated.  Remove
8450         redundant comments.
8452 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
8454         src/image.c (compute_image_size): Remove superfluous checks.
8456         * src/image.c (compute_image_size): Remove superfluous checks.
8458 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
8460         Make combinations of :width/:max-height image specs work reliably
8462         * doc/lispref/display.texi (ImageMagick Images): Document
8463         :width/:max-height combinations (etc) (bug #25583).
8465         * src/image.c (compute_image_size): Handle :width/:max-height
8466         (etc) combinations consistently (by letting "max" win and
8467         preserve ratio).
8469         * test/manual/image-size-tests.el (image-size-tests): Add
8470         tests for :width/:max-height (etc) combinations.
8472 2017-07-15  Glenn Morris  <rgm@gnu.org>
8474         Fix recent theme changes
8476         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
8477         Fix typos in recent changes.
8479 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8481         GnuTLS integer-overflow and style fixes
8483         This tweaks the recently-added GnuTLS improvements so that
8484         they avoid some integer-overflow problems and follow typical
8485         Emacs style a bit better.
8486         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
8487         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
8488         configure-time results are displayed.
8489         * src/fns.c (extract_data_from_object): Return char *, not char
8490         const *, since one gnutls caller wants a non-const pointer.  Use
8491         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
8492         instead of rolling our own code.  Prefer signed types to unsigned
8493         when either will do.  Report problems for lengths out of range,
8494         instead of silently mishandling them.
8495         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
8496         callers.  All callers of gnutls_sterror changed.
8497         (Fgnutls_boot): Check for integers out of range rather than
8498         silently truncating them.
8499         (gnutls_symmetric_aead): Check for integer overflow in size
8500         calculations.
8501         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
8502         Prefer signed to unsigned integers where either will do.
8503         (gnutls_symmetric_aead, gnutls_symmetric):
8504         Work even if ptrdiff_t is wider than ‘long’.
8505         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
8506         Check for integer overflow in algorithm selection.
8508 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
8510         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
8512 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8514         Fix the MS-Windows build due to added GnuTLS functions
8516         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
8517         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
8518         functions.  Add #define redirections for new functions.
8519         (gnutls_symmetric_aead): Fix format specs to be more portable when
8520         printing ptrdiff_t arguments.
8521         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
8522         wrapper.
8523         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
8525         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
8526         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
8527         gnutls-available-p, otherwise GnuTLS functions might not be loaded
8528         from the DLL on MS-Windows.
8530 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8532         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
8534         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
8535         Dig into advice wrappers to find the "real" signature.
8536         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
8537         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
8538         since bytecode functions are now handled in byte-compile--function-signature.
8540         * lisp/files.el (create-file-buffer, insert-directory):
8541         Remove workaround introduced for (bug#14860).
8543         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
8545         * lisp/help.el (help-function-arglist):
8546         Dig into advice wrappers to find the "real" signature.
8548 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
8550         GnuTLS HMAC and symmetric cipher support
8552             * etc/NEWS: Add news for new feature.
8554             * doc/lispref/text.texi (GnuTLS Cryptography): Add
8555             documentation.
8557             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
8558             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
8560             * src/fns.c (Fsecure_hash_algorithms): Add function to list
8561             supported `secure-hash' algorithms.
8562             (extract_data_from_object): Add data extraction function that
8563             can operate on buffers and strings.
8564             (secure_hash): Use it.
8565             (Fsecure_hash): Mention `secure-hash-algorithms'.
8567             * src/gnutls.h: Include gnutls/crypto.h.
8569             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
8570             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
8571             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
8572             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
8574             * test/lisp/net/gnutls-tests.el: Add tests.
8576 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8578         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
8580         It's also defined in cl-extra.el.
8582 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8584         Do not convert ij and IJ to compatibility chars
8586         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
8587         Problem reported by James Cloos (Bug#518#10).
8589 2017-07-14  Toon Claes  <toon@iotcl.com>
8591         Remove Turkish ligatures from Dutch input method
8593         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
8595 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8597         Improve stack-overflow heuristic on GNU/Linux
8599         Problem reported by Steve Kemp (Bug#27585).
8600         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
8601         by current_thread->stack_top.
8602         (record_in_backtrace): Set current_thread->stack_top.
8603         This is for when the Lisp interpreter calls itself.
8604         * src/lread.c (read1): Set current_thread->stack_top.
8605         This is for recursive s-expression reads.
8606         * src/print.c (print_object): Set current_thread->stack_top.
8607         This is for recursive s-expression printing.
8608         * src/thread.c (mark_one_thread): Get stack top first.
8609         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
8611 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8613         Remove duplicate cl--random-state definition
8615         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
8616         This variable is now defined in cl-extra.el (Bug#27617).
8618 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
8620         Adjust timer in tramp-test36-asynchronous-requests
8622         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
8623         Adjust timer if it takes too much time.
8625 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8627         Always display rmail progress report under user control
8629         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
8630         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
8632 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8634         Avoid byte-compilation warnings for advised functions
8636         * lisp/files.el (insert-directory, create-file-buffer): Add an
8637         advertised-calling-convention form to shut up byte-compilation
8638         warnings.  (Bug#14860)
8640 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8642         Add assertion related to display-line-numbers
8644         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
8645         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
8646         code.  (Bug#27668)
8648 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8650         Prevent display corruption when display-line-numbers is set
8652         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
8653         due to display-line-numbers, clear the window's desired glyph
8654         matrix before returning, as the following call to try_window will
8655         call display_line, which expects rows of the desired matrix
8656         cleared.  (Bug#27668)
8658 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
8660         Revert "Use fixed-pitch font for display-line-numbers"
8662         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
8663         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
8664         popular demand.  For relevant discussions, see
8666          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
8667          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
8669 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
8671         Merge from gnulib
8673         This incorporates:
8674         2017-07-13 Improve cross-compilation guesses for native Windows
8675         2017-07-11 More systematic m4 quoting and indentation
8676         2017-07-10 Make sure $host and $host_os are defined when used
8677         2017-07-03 stdioext: Port to OpenVMS
8678         2017-06-24 xalloc-oversized: port to icc
8679         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
8680         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
8681         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
8682         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
8683         Copy from Gnulib.
8685 2017-07-13  Alan Mackenzie  <acm@muc.de>
8687         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
8689         This fontification anomaly happened because after deleting the ">",
8690         c-forward-<>-arglist parses the preceding identifier as a putative type but
8691         stores it in c-found-types before it becomes clear it is not an unambiguous
8692         type.  c-forward-<>-arglist fails, leaving the spurious type id in
8693         c-found-types.  Fix this by "binding" c-found-types "to itself" in
8694         c-forward-<>-arglist, and restoring the original value when that function call
8695         fails.
8697         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
8698         (c-forward-<>-arglist): Record the original value of c-found-types at the
8699         beginning of the function, and restore it at the end on failure.
8701         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
8702         accurately.
8704 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
8706         Add tests for SES, and fix one more cell renaming bug.
8708         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
8709         relocate value for named cells as they keep the same symbol.
8710         (ses-rename-cell): Set new cell name symbol to cell value --- do not
8711         rely on recalculating.  Push cells with updated data --- cell name,
8712         cell reference list, or cell formula --- to deferred write list.
8714         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
8716 2017-07-12  Alan Mackenzie  <acm@muc.de>
8718         Fix some bugs in c-defun-name.  This fixes bug #25623.
8720         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
8721         etc.
8723 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
8725         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
8727         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
8728         c-mode-base-map if possible.
8730 2017-07-12  Alan Mackenzie  <acm@muc.de>
8732         CC Mode: create and use c-set-keymap-parent.
8734         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
8736         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
8737         set-keymap-parents.
8738         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
8740 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
8742         Minor tweaks of new line number display variables
8744         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
8745         (Vdisplay_line_number_width): Rename to
8746         Vdisplay_line_numbers_width.
8747         (maybe_produce_line_number): Comply with above rename.
8748         * lisp/cus-start.el (standard):
8749         * lisp/frame.el (top-level):
8750         * etc/NEWS: Comply with renaming of
8751         `display-line-number-width' to `display-line-numbers-width'.
8753 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
8755         Avoid assertion violations in close_infile_unwind
8757         * src/lread.c (close_infile_unwind): A temporary band-aid solution
8758         for bug#27642: allow 'infile' be NULL.
8760 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
8762         Use fixed-pitch font for display-line-numbers
8764         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
8765         even if the default face uses a variable-pitch font.  Reported by
8766         James Cloos <cloos@jhcloos.com>.
8768 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
8770         Improve documentation of display-line-numbers
8772         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
8773         doc string.  Suggested by Alex <agrambot@gmail.com>.
8775 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
8777         Add an optional testfn parameter to assoc
8779         * src/fns.c (assoc): New optional testfn parameter used for comparison
8780         when provided.
8781         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
8782         'testfn' parameter.
8783         * src/buffer.c:
8784         * src/coding.c:
8785         * src/dbusbind.c:
8786         * src/font.c:
8787         * src/fontset.c:
8788         * src/gfilenotify.c:
8789         * src/image.c:
8790         * src/keymap.c:
8791         * src/process.c:
8792         * src/w32fns.c:
8793         * src/w32font.c:
8794         * src/w32notify.c:
8795         * src/w32term.c:
8796         * src/xdisp.c:
8797         * src/xfont.c: Add a third argument to Fassoc calls.
8798         * etc/NEWS:
8799         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
8801 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
8803         Use `with-demoted-errors' in Tramp
8805         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
8807         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
8809 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
8811         Add Quick Start Guide to Tramp manual
8813         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
8814         "MS Windows".
8815         (Quick Start Guide): New node.
8817         * doc/misc/trampver.texi:
8818         * lisp/net/trampver.el: Change version to "2.3.3-pre".
8820 2017-07-10  Glenn Morris  <rgm@gnu.org>
8822         Fix failing module tests on GNU/Linux
8824         * test/src/emacs-module-tests.el
8825         (module--test-assertions--load-non-live-object)
8826         (module--test-assertions--call-emacs-from-gc):
8827         Avoid test failures due to backtraces.
8829 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8831         Fix core dump in substitute-object-in-subtree
8833         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
8834         would dump core, since the C code would recurse indefinitely through
8835         the infinite structure.  This patch adds an argument to the function,
8836         and renames it to lread--substitute-object-in-subtree as the function
8837         is not general-purpose and should not be relied on by outside code.
8838         See Bug#23660.
8839         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
8840         not Lisp_Object, so that callers need not cons unnecessarily.
8841         All callers changed.  Also, remove related #if-0 code that was
8842         “temporary” in the early 1990s and has not been compilable for
8843         some time.
8844         * src/lread.c (struct subst): New type, for substitution closure data.
8845         (seen_list): Remove this static var, as this info is now part of
8846         struct subst.  All uses removed.
8847         (Flread__substitute_object_in_subtree): Rename from
8848         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
8849         doesn’t dump core when called from the top level with an
8850         already-cyclic structure.  All callers changed.
8851         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
8852         (substitute_object_recurse): Take a single argument SUBST rather
8853         than a pair OBJECT and PLACEHOLDER, so that its address can be
8854         passed around as part of a closure; this avoids the need for an
8855         AUTO_CONS call.  All callers changed.  If the COMPLETED component
8856         is t, treat every subobject as potentially circular.
8857         (substitute_in_interval): Take a struct subst * rather than a
8858         Lisp_Object, for the closure data.  All callers changed.
8859         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
8860         New test, to check that the core dump does not reoccur.
8862 2017-07-10  Philipp Stephani  <phst@google.com>
8864         Minor simplification of module_free_global_ref
8866         * src/emacs-module.c (module_free_global_ref): Remove unused variable
8867         'hashcode'.  Inline variable 'value' that's only used once.
8869 2017-07-10  Philipp Stephani  <phst@google.com>
8871         Re-add a useful assertion
8873         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
8874         the reference count is zero.  This assertion was removed in commit
8875         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
8876         test performed by XFASTINT before, because the previous reference
8877         count could have been zero already in the case of a buggy
8878         implementation.  This assertion might have detected Bug#27587.
8880 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
8882         Fix bug in module_free_global_ref (Bug#27587)
8884         * src/emacs-module.c (module_free_global_ref): Actually remove entry
8885         from hash table.
8887 2017-07-09  Philipp Stephani  <phst@google.com>
8889         Further improve electric quote support for Markdown (Bug#24709)
8891         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
8892         values.  Therefore 'electric-quote-mode' recognized it as a
8893         programming mode.  Fix this by first checking whether the current
8894         major mode is derived from 'text-mode'.
8896         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
8897         'text-mode' as stronger signal than comment syntax.
8899         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
8900         (electric-quote-markdown-in-code): Adapt unit tests.
8902 2017-07-09  Philipp Stephani  <phst@google.com>
8904         Remove pointless code in 'electric-quote-mode'
8906         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8907         pointless form.
8909 2017-07-09  Philipp Stephani  <phst@google.com>
8911         Refactor 'electric-quote-mode'
8913         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8914         local variable 'start', which was misnamed and only used once.
8916 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
8918         Avoid crashes on MS-Windows starting 64-bit .NET executables
8920         * src/w32proc.c (w32_executable_type): Don't assume that the
8921         import directory in a DLL will always be non-NULL.  (Bug#27527)
8923 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8925         Avoid compilation warning in files.el
8927         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
8928         warning due to its use in auto-save-visited-mode.
8930 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8932         Improve indexing of VC-related stuff in the Emacs manual
8934         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
8935         entry.  (Bug#27627)
8937 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
8939         Speed up display of line numbers for very large buffers
8941         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
8942         using values cached by mode-line display of line numbers.
8943         (Bug#27622)
8945 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
8947         Define internal_border_parts for window systems only (Bug#27615)
8949         * src/keyboard.c: (internal_border_parts): Define only
8950         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
8952 2017-07-09  R. Bernstein  <rocky@gnu.org>
8954         Add realgud faces faces to whiteboard...
8956         Adjust wheatgrass to use underline for enabled/disabled breakpoints
8958 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8960         Optimize UCS normalization tests
8962         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
8963         * test/lisp/international/ucs-normalize-tests.el
8964         (ucs-normalize-tests--parse-column): Use character instead of string
8965         of length 1 for terminator.  Convert return value into string since
8966         all callers need that form anyway.
8967         (ucs-normalize-tests--normalization-equal-p): Rename from
8968         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
8969         messing with narrowing.  Take string to compare against and insert it
8970         into buffer so that compare-buffer-substrings can be used instead of
8971         allocating a new string from buffer contents.
8972         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
8973         for comparing single character.
8974         (ucs-normalize-tests--rule1-holds-p)
8975         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
8976         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
8977         `='.
8979 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8981         Update failing lines for UCS normalize tests
8983         * test/lisp/international/ucs-normalize-tests.el
8984         (ucs-normalize-tests--failing-lines-part2): Update for new
8985         admin/unidata/NormalizationTest.txt version.
8987 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
8989         Semi-automate the procedure for updating UCS normalize test bad lines
8991         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
8992         commentary describing a manual procedure for producing the updated
8993         failing lines, it did not actually work.  Replace it with pointer to
8994         new function which prints the updated values.
8995         (ucs-normalize-tests--rule1-holds-p): Renamed from
8996         ucs-normalize-tests--invariants-hold-p.
8997         (ucs-normalize-tests--rule2-holds-p): Renamed from
8998         ucs-normalize-tests--invariants-rule2-hold-p.
8999         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
9000         ucs-normalize-tests--invariants-failing-for-part.
9001         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
9002         ucs-normalize-tests--invariants-failing-for-lines.
9003         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
9004         (ucs-normalize-part2): Set it.
9005         (ucs-normalize-part1): Always run through to end of test before
9006         checking for failures.
9007         (ucs-normalize-tests--insert-failing-lines)
9008         (ucs-normalize-check-failing-lines): New functions, used to update
9009         the *--failing-lines-part* variables.
9011 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9013         * lisp/cus-start.el (standard): Spelling fix.
9015 2017-07-08  Philipp Stephani  <phst@google.com>
9017         Module assertions: check for garbage collections
9019         It's technically possible to write a user pointer finalizer that calls
9020         into Emacs module functions.  This would be disastrous because it
9021         would allow arbitrary Lisp code to run during garbage collection.
9022         Therefore extend the module assertions to check for this case.
9024         * src/emacs-module.c (module_assert_thread): Also check whether a
9025         garbage collection is in progress.
9027         * test/data/emacs-module/mod-test.c (invalid_finalizer)
9028         (Fmod_test_invalid_finalizer): New test module functions.
9029         (emacs_module_init): Register new test function.
9031         * test/src/emacs-module-tests.el (module--test-assertion)
9032         (module--with-temp-directory): New helper macros.
9033         (module--test-assertions--load-non-live-object): Rename existing
9034         unit test, use helper macros.
9035         (module--test-assertions--call-emacs-from-gc): New unit test.
9037 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
9039         Capitalize the menu entry for display-line-numbers
9041         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
9042         for display-line-numbers.  Suggested by Martin Rudalics
9043         <rudalics@gmx.at>.
9045 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
9047         Update Unicode data and files to Unicode 10.0
9049         * admin/notes/unicode:
9050         * admin/unidata/README:
9051         * admin/unidata/BidiBrackets.txt:
9052         * admin/unidata/BidiMirroring.txt:
9053         * admin/unidata/Blocks.txt:
9054         * admin/unidata/IVD_Sequences.txt:
9055         * admin/unidata/NormalizationTest.txt:
9056         * admin/unidata/SpecialCasing.txt:
9057         * admin/unidata/UnicodeData.txt:
9058         * lisp/international/characters.el:
9059         * lisp/international/fontset.el (script-representative-chars):
9060         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
9062 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
9064         Support '=' in Scheme and Lisp tags in 'etags'
9066         * lib-src/etags.c (get_lispy_tag): New function.
9067         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
9068         * test/manual/etags/CTAGS.good:
9069         * test/manual/etags/ETAGS.good_1:
9070         * test/manual/etags/ETAGS.good_2:
9071         * test/manual/etags/ETAGS.good_3:
9072         * test/manual/etags/ETAGS.good_4:
9073         * test/manual/etags/ETAGS.good_5:
9074         * test/manual/etags/ETAGS.good_6:
9075         * test/manual/etags/Makefile:
9076         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
9077         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
9079 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
9081         Avoid compiler warnings in xdisp.c debugging code
9083         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
9084         Use pD directives for ptrdiff_t values instead of pI, to avoid
9085         compilation warnings on 64-bit hosts.  (Bug#27597)
9087 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
9089         Commentary enhancement in frame.el
9091         * lisp/frame.el: Explain how to test whether a variable needs to
9092         be added to the list of those which are watched for buffer
9093         redisplay.
9095 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
9097         Support display of line numbers natively
9099         This merges branch 'line-numbers'.
9100         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
9101         function.
9102         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
9103         * src/dispextern.h (struct it): New members pt_lnum, lnum,
9104         lnum_bytepos, lnum_width, and lnum_pixel_width.
9105         * src/indent.c (line_number_display_width): New function,
9106         refactored from line-number width calculations in vertical-motion.
9107         (Fvertical_motion): Call line_number_display_width when the width
9108         of line-number display is needed.
9109         (Fline_number_display_width): New defun.
9110         (syms_of_indent): Defsubr it.
9111         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
9112         the width used up by line numbers by looking near the window-start
9113         point.  If window-start is outside of the accessible portion,
9114         temporarily widen the buffer.
9115         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
9116         space taken by the line-number display.
9117         * src/xdisp.c (display_count_lines_logically)
9118         (display_count_lines_visually, maybe_produce_line_number)
9119         (should_produce_line_number, row_text_area_empty): New functions.
9120         (try_window_reusing_current_matrix): Don't use this method when
9121         display-line-numbers is in effect.
9122         (try_window_id, try_cursor_movement): Disable these optimizations
9123         when the line-number-current-line face is different from
9124         line-number face and for relative line numbers.
9125         (try_window_id, redisplay_window, try_cursor_movement): For
9126         visual line-number display, disable the same redisplay
9127         optimizations as for relative.
9128         (x_produce_glyphs): Adjust tab stops for the horizontal
9129         space taken by the line-number display.
9130         (hscroll_window_tree): Adjust hscroll calculations to line-number
9131         display.
9132         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
9133         math.h; all users changed.
9134         (set_cursor_from_row): Fix calculation of cursor X coordinate in
9135         R2L rows with display-produced glyphs at the beginning.
9136         (display_line): Use should_produce_line_number to determine
9137         whether a line number should be produced for each glyph row, and
9138         maybe_produce_line_number to produce line numbers.
9139         Don't display line numbers in the minibuffer and in tooltip
9140         frames.
9141         Call row_text_area_empty to verify that a glyph
9142         row's text area is devoid of any glyphs that came from a buffer or
9143         a string.  This fixes a bug with empty-lines indication
9144         disappearing when line numbers or line-prefix are displayed.
9145         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
9146         <display-line-number-width>: New buffer-local variables.
9147         <display-line-numbers-current-absolute>: New variable.
9149         * lisp/cus-start.el (standard): Provide customization forms for
9150         display-line-numbers and its sub-features.
9151         * lisp/faces.el (line-number, line-number-current-line): New faces.
9152         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
9153         display-line-numbers-current-absolute, and
9154         display-line-number-width to the list of variables that should
9155         trigger redisplay of the current buffer.
9156         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
9157         turn display-line-numbers on and off.
9158         (toggle-display-line-numbers): New function.
9159         * lisp/simple.el (last--line-number-width): New internal variable.
9160         (line-move-visual): Use it to adjust temporary-goal-column when
9161         line-number display changes its width.
9163         * doc/emacs/basic.texi (Position Info): Add cross-reference to
9164         "Display Custom", for line-number display.
9165         * doc/emacs/custom.texi (Init Rebinding):
9166         * doc/emacs/modes.texi (Minor Modes): Remove references to
9167         linum-mode.
9168         * doc/emacs/display.texi (Display Custom): Describe the
9169         line-number display.
9170         * doc/lispref/display.texi (Size of Displayed Text): Document
9171         line-number-display-width.
9173         * etc/NEWS: Document display-line-numbers and its customizations.
9175 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9177         Fix more ungetc bugs with encoding errors
9179         * src/lread.c (infile): New variable, replacing ...
9180         (instream): ... this.  All uses changed.
9181         (readbyte_from_stdio): New function, which deals with lookahead.
9182         (readbyte_from_file, Fget_file_char): Use it.
9183         (Fget_file_char): When misused, signal an error instead of
9184         relying on undefined behavior.
9185         (close_infile_unwind): New function.
9186         (Fload): Use it.
9187         (readevalloop): 2nd arg is now struct infile *, not FILE *.
9188         All callers changed.
9189         (read1): Handle lookahead when copying doc strings with
9190         encoding errors.
9192 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9194         Avoid ungetc when loading charset maps from files
9196         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
9197         replacing the old EOF.  All callers changed.  This avoids the
9198         need to call ungetc.
9200 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9202         Fix ungetc bug when reading an encoding error
9204         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
9205         error when reading an encoding error from a file, e.g., a symbol
9206         in an .elc file whose name is "\360\220\200\360".
9208 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9210         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
9212         * lisp/window.el (display-buffer--special-action): Use a closure.
9214 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
9216         Add new todo-mode.el tests
9218         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
9219         Declare an Edebug spec.  Restore pre-test-run state of test files.
9220         (todo-test--show, todo-test--move-item)
9221         (todo-test--insert-item): New functions.
9222         (todo-test-get-archive): Remove, as subsumed by
9223         todo-test--show.  Adjust all callers.
9224         (todo-test--is-current-buffer): Rename from
9225         todo-test-is-current-buffer and adjust uses.
9226         (todo-test-item-highlighting): Use todo-test--show.
9227         (todo-test-revert-buffer01, todo-test-revert-buffer02)
9228         (todo-test-raise-lower-priority)
9229         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
9230         (todo-test-move-item02, todo-test-move-item03)
9231         (todo-test-move-item04, todo-test-move-item05)
9232         (todo-test-toggle-item-header01)
9233         (todo-test-toggle-item-header02)
9234         (todo-test-toggle-item-header03)
9235         (todo-test-toggle-item-header04)
9236         (todo-test-toggle-item-header05)
9237         (todo-test-toggle-item-header06)
9238         (todo-test-toggle-item-header07): New tests.
9240         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
9241         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
9242         Modify to accommodate new tests.
9244 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
9246         todo-mode.el: Fix handling of hidden item headers (bug#27609)
9248         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
9249         (todo-toggle-item-header): Use it.  Make this command a noop
9250         if the file has no items.
9251         (todo-move-item, todo-item-done): Instead of concatenating the
9252         items to move into one string, make a list of them to
9253         facilitate handling hidden headers.  Adjust insertion accordingly.
9254         (todo-archive-done-item): Handle hidden headers in archive file.
9255         (todo-unarchive-items): Handle hidden headers in todo file.
9256         (todo-backward-item): Use todo--item-headers-hidden and handle
9257         moving backward work when item date-time headers are hidden.
9258         (todo-remove-item): Delete date-time header overlay.
9259         (todo-get-overlay, todo-insert-with-overlays): Make them work
9260         with hidden date-time headers.
9261         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
9263 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
9265         Fix several todo-mode bugs found while debugging bug#27609
9267         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
9268         current category only once.
9269         (todo-mark-category): Update number of marked items to avoid
9270         spurious duplication in todo-categories-with-marks alist and
9271         corruption of the todo-categories alist.  Handle empty line
9272         when there are no todo items and done items are shown.
9273         (todo-set-item-priority): Make noop if called from
9274         todo-raise-item-priority or todo-lower-item-priority when
9275         point is on a done todo item or an empty line.
9276         (todo-move-item): Use markers instead of integer positions to
9277         correctly handle deleting the now moved items from the source
9278         category (without markers an infinite loop arises when moving
9279         marked item to a preceding category).
9280         (todo-unarchive-items): Put point on the (first) restored done
9281         item, instead of leaving it at the end of the done items
9282         separator string.
9283         (todo-revert-buffer): Ensure buffer remains read-only after
9284         reverting.
9286 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
9288         Exclude blank columns from value of line-number-display-width
9290         * src/indent.c (Fline_number_display_width): Don't add 2 to the
9291         number of columns we return, to make this consistent with
9292         display-line-number-width.
9294 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
9296         Fix vertical-motion across the place where line-number width changes
9298         * src/indent.c (line_number_display_width): New function,
9299         refactored from line-number width calculations in vertical-motion.
9300         (Fvertical_motion): Call line_number_display_width when the width
9301         of line-number display is needed.
9302         (Fline_number_display_width): New defun.
9303         (syms_of_indent): Defsubr it.
9305         * doc/lispref/display.texi (Size of Displayed Text): Document
9306         line-number-display-width.
9308         * etc/NEWS: Mention line-number-display-width.
9310         * lisp/simple.el (last--line-number-width): New internal variable.
9311         (line-move-visual): Use it to adjust temporary-goal-column when
9312         line-number display changes its width.
9314 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
9316         Remove Vwindow_text_change_functions and related code
9318         Vwindow_text_change_functions had been provided for implementing
9319         line numbers but apparently was never functional or in use.
9321         * src/xdisp.c (redisplay_window): Remove handling of
9322         Vwindow_text_change_functions.
9323         (syms_of_xdisp): Remove Qwindow_text_change_functions.
9324         (Vwindow_text_change_functions): Remove variable.
9325         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
9326         `window-text-change-functions'.
9328 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
9330         Convert more uses of looking-at to following-char
9332         More followup to Karl Fogel's commit a84da83c1.
9333         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
9334         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
9335         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
9336         * lisp/proced.el (proced-toggle-marks):
9337         * lisp/progmodes/f90.el (f90-indent-line):
9338         * lisp/ses.el (ses-load):
9339         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
9340         char comparisons using following-char.
9342 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
9344         Don't skip epg tests (Bug#23561)
9346         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
9347         parameter, since we supply the passphrase via pinentry-program for all
9348         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
9349         program (Bug#23619)").
9350         (epg-tests-program-alist-for-passphrase-callback): Remove.
9352 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
9354         Implement line numbers that disregard narrowing
9356         * src/xdisp.c (display_count_lines_logically): New function,
9357         counts line numbers disregarding narrowing.  Suggested by Andy
9358         Moreton <andrewjmoreton@gmail.com>.
9359         (maybe_produce_line_number): Call display_count_lines_logically
9360         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
9361         display-line-numbers-widen.
9362         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
9363         variable.
9365         * lisp/cus-start.el (standard): Provide a customization form for
9366         display-line-numbers-widen.
9367         * lisp/frame.el: Add display-line-numbers-widen,
9368         display-line-numbers-current-absolute, and
9369         display-line-number-width to the list of variables that should
9370         trigger redisplay of the current buffer.
9372         * doc/emacs/display.texi (Display Custom): Document
9373         display-line-numbers-widen.
9375 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
9377         Fix lisp-comment-indent for single-semicolon case
9379         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
9380         open paren if we're looking at multiple comment characters.
9381         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
9382         (lisp-comment-indent-2): New tests.
9384 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9386         Spelling fixes
9388         * lisp/org/org-table.el (org-table-sort-lines):
9389         Fix misspelling in prompt.
9390         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
9391         Fix misspelling in call to org-element-lineage.
9393 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
9395         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
9397         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
9398         line's code ends in open paren, set comment indentation exactly to
9399         column following it.
9400         (lisp-mode-variables): Set `comment-indent-function' to
9401         `lisp-comment-indent'.
9403 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
9405         Allow comment-indent-functions to specify exact indentation (Bug#385)
9407         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
9408         integers as indicating a range of acceptable indentation.
9409         (comment-indent): Don't apply `comment-inline-offset',
9410         `comment-choose-indent' already does that.
9411         (comment-indent-function):
9412         * doc/emacs/programs.texi (Options for Comments): Document new
9413         acceptable return values.
9414         * etc/NEWS: Announce it.
9416 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9418         Check for integer overflow in xbm images
9420         * src/image.c (XBM_TK_OVERFLOW): New constant.
9421         (xbm_scan): Check for integer overflow instead of relying on
9422         undefined behavior.  Check that octal digits are actually octal.
9424 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9426         Convert hex digits more systematically
9428         This makes the code a bit smaller and presumably faster, as
9429         it substitutes a single lookup for conditional jumps.
9430         * src/character.c (hexdigit): New constant.
9431         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
9432         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
9433         (hexdigit): New decl.
9434         (char_hexdigit): New inline function.
9435         * src/charset.c: Do not include c-ctype.h.
9436         * src/charset.c (read_hex):
9437         * src/editfns.c (styled_format):
9438         * src/image.c (xbm_scan):
9439         * src/lread.c (read_escape):
9440         * src/regex.c (ISXDIGIT) [emacs]:
9441         Use char_hexdigit insted of doing it by hand.
9443 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9445         Don’t use -Woverride-init
9447         I have some further changes in mind that would also need to
9448         disable the -Woverride-init warnings.  In practice these warnings
9449         seem to be more trouble than they’re worth, so disable them in the
9450         cc command line.
9451         * configure.ac: Disable -Woverride-init here ...
9452         * src/bytecode.c: ... rather than here.
9454 2017-07-05  Glenn Morris  <rgm@gnu.org>
9456         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
9458         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
9460 2017-07-05  Glenn Morris  <rgm@gnu.org>
9462         Small fix for bug-reference.el
9464         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
9465         Autoload safety property.  (Bug#27481)
9467 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
9469         Suppress timers in Tramp
9471         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
9473         * test/lisp/net/tramp-tests.el
9474         (tramp-test36-asynchronous-requests): Trigger timers.
9475         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
9476         Set `default-directory' to a trustworthy value.
9478 2017-07-05  rocky  <rb@dustyfeet.com>
9480         Add realgud face definitions
9482         Add realgud faces to tdsh-dark-theme
9484 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9486         * lisp/progmodes/cc-awk.el: Mark unused args
9488         * lisp/progmodes/cc-bytecomp.el: Mark unused args
9490 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9492         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
9494         ... before first use
9496 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9498         * lisp/progmodes/cc-vars.el: Mark unused args
9500 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9502         * lisp/progmodes/cc-langs.el: Mark unused args
9504         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
9505         unambiguous-prefix-ops.
9507 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9509         * lisp/progmodes/cc-engine.el: Mark unused args
9511         (c-beginning-of-statement-1, c-guess-basic-syntax):
9512         Remove unused var c-in-literal-cache.
9513         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
9514         (c-append-to-state-cache): Remove unused var `bra+1s'.
9515         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
9516         (c-invalidate-state-cache-1): Remove unused var `pa'.
9517         (c-forward-decl-or-cast-1): Change comments so they don't look like
9518         outline headers.
9519         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
9520         Declare before first use.
9521         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
9522         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
9524 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9526         * lisp/progmodes/cc-cmds.el: Remove unused vars
9528         (c-syntactic-context): Declare as dynbound.
9529         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
9531 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9533         * lisp/progmodes/cc-guess.el: Remove unused var
9535         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
9536         and computed variable `guessed-syntactic-symbols'.
9538 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9540         * lisp/progmodes/cc-align.el: Mark unused arguments
9542 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9544         * lisp/progmodes/cc-mode.el: Mark unused arguments
9546         (c-parse-quotes-before-change, c-parse-quotes-after-change):
9547         Remove unused vars.
9549 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
9551         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
9553         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
9554         and `ffap-url-unwrap-remote'.
9556 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
9558         Fix infloop in uncomment-region-default (Bug#27112)
9560         When `comment-continue' has only blanks, `comment-padright' produces a
9561         regexp that matches the empty string, so `uncomment-region-default'
9562         will loop infinitely.
9563         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
9564         has nonblank characters.
9566 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
9568         Fix display of current line number in visual mode
9570         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
9571         of current line when line-number-current-line face was customized.
9572         Reported by Filipe Silva <filipe.silva@gmail.com>.
9574 2017-07-03  Philipp Stephani  <phst@google.com>
9576         Use hook instead of face list to inhibit electric quoting
9578         This is more flexible and doesn't couple electric quoting to font
9579         locking.
9580         Give that 'electric-quote-code-faces' was just introduced, remove it
9581         without formal deprecation.
9583         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
9584         hook variable.
9585         (electric-quote-post-self-insert-function): Run the hook.  Remove
9586         use of old 'electric-quote-code-faces' variable.
9588         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
9589         (electric-quote-markdown-in-code): Adapt unit tests.
9591 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
9593         Offer non-aligned indentation in lists in js-mode (Bug#27503)
9595         * lisp/progmodes/js.el (js--proper-indentation):
9596         New customization option 'js-indent-align-list-continuation'.
9597         Affects argument lists as well as arrays and object properties.
9598         * test/manual/indent/js-indent-align-list-continuation-nil.js:
9599         Test the change.
9601 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
9603         Avoid errors in vertical-motion when buffer is narrowed
9605         * src/indent.c (Fvertical_motion): If need to start from
9606         window-start, and it is outside of the accessible portion,
9607         temporarily widen the buffer.  This avoids errors in evil-mode.
9608         Reported by James Nguyen <james@jojojames.com>.
9610 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
9612         (Re-)activate remote tests of filenotify-tests.el
9614         * test/lisp/filenotify-tests.el
9615         (file-notify-test-remote-temporary-file-directory):
9616         Declare default host for mock method.  Offer home directory
9617         for mock method if it doesn't exist.
9618         (file-notify-test09-watched-file-in-watched-dir-remote):
9619         Remove, it doesn't work reliably.
9621 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9623         Reset ansi escape context before printing eshell prompt (Bug#27407)
9625         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
9626         `ansi-color-context-region'.
9628 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9630         Let ansi-color overlay hooks work in eshell (Bug#27407)
9632         * lisp/ansi-color.el (ansi-color-make-extent): Add
9633         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
9634         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
9635         `inhibit-modification-hooks' to nil while inserting the string.
9637 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
9639         Fix and simplify ansi escape detection (Bug#21381)
9641         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
9642         Remove.
9643         (ansi-color-control-seq-regexp): New constant, matches all escape
9644         sequences.
9645         (ansi-color-filter-apply, ansi-color-apply)
9646         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
9647         of matching color sequences separately from ignored sequences.
9648         Differentiate color sequences simply by checking the last character.
9650 2017-07-03  Damien Cassou  <damien@cassou.me>
9652         Add absolute optional parameter to line-number-at-pos (Bug#26417)
9654         * lisp/simple.el (line-number-at-pos): Add a second optional
9655           argument 'absolute'.
9656         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
9658 2017-07-03  R. Bernstein  <rocky@gnu.org>
9660         Add realgud faces
9662 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
9664         Fix tramp-tests.el for hydra
9666         * test/Makefile.in: Remove instrumentation for tramp-tests.
9668         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
9669         Remove instrumentation.  Wrap with a timeout.  Give hydra
9670         another timer value.  Set `default-directory' in timer.
9672 2017-07-03  Bastien  <bzg@gnu.org>
9674         Merge branch 'master' into scratch/org-mode-merge
9676         Merge branch 'master' into scratch/org-mode-merge
9678 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
9680         dired-do-shell-command: Fix check for wildcards
9682         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
9683         and '`?' i.e., keep the whitespaces.
9684         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
9686 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9688         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
9690         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
9691         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
9692         split out from `shr-copy-url'.
9693         (shr-copy-url): Only copy the url, don't fetch it.
9694         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
9695         has the same behavior as the old `shr-copy-url'.
9696         * etc/NEWS: Announce changes.
9698 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
9700         Make eww-search-words prompt for query if nothing selected
9702         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
9703         user for a search query if the region is inactive or if the region is
9704         just whitespace.
9706 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9708         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
9710         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
9711         * lisp/help-fns.el (describe-variable): No need to let-bind
9712         `cl-print-compiled-button' to t anymore.
9714 2017-07-02  Philipp Stephani  <phst@google.com>
9716         Electric quotes: Improve support for Markdown mode (Bug#24709)
9718         Introduce a new user option 'electric-quote-context-sensitive'.  If
9719         non-nil, have ' insert an opening quote if sensible.
9721         Also introduce a new variable 'electric-quote-code-faces'.  Major
9722         modes such as 'markdown-mode' can add faces to this list to treat text
9723         as inline code and disable electric quoting.
9725         * lisp/electric.el (electric-quote-context-sensitive): New user
9726         option.
9727         (electric-quote-code-faces): New variable.
9728         (electric-quote-post-self-insert-function): Treat ' as ` if
9729         desired and applicable; disable electric quoting for given faces.
9731         * test/lisp/electric-tests.el (electric-quote-opening-single)
9732         (electric-quote-closing-single, electric-quote-opening-double)
9733         (electric-quote-closing-double)
9734         (electric-quote-context-sensitive-backtick)
9735         (electric-quote-context-sensitive-bob-single)
9736         (electric-quote-context-sensitive-bob-double)
9737         (electric-quote-context-sensitive-bol-single)
9738         (electric-quote-context-sensitive-bol-double)
9739         (electric-quote-context-sensitive-after-space-single)
9740         (electric-quote-context-sensitive-after-space-double)
9741         (electric-quote-context-sensitive-after-letter-single)
9742         (electric-quote-context-sensitive-after-letter-double)
9743         (electric-quote-context-sensitive-after-paren-single)
9744         (electric-quote-context-sensitive-after-paren-double)
9745         (electric-quote-markdown-in-text)
9746         (electric-quote-markdown-in-code): New unit tests.
9748 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
9750         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
9752 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
9754         Avoid off-by-one errors in column C-n/C-p calculations
9756         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
9757         the width used up by line numbers by looking near the window-start
9758         point.
9760 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
9762         Ask confirmation for all suspicious wildcards
9764         * lisp/dired-aux.el (dired-do-shell-command): Check that all
9765         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
9767 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
9769         Extend dired-do-shell-command substitutions
9771         Substitute "`?`" inside command with the current file name.
9772         See details in:
9773         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
9774         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
9775         Mark as obsolete.
9776         (dired-isolated-string-re): New defun.
9777         (dired--star-or-qmark-p): New predicate.
9778         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
9779         with the current file name.
9780         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
9782 2017-07-02  Alan Mackenzie  <acm@muc.de>
9784         Fix bug in yesterday's CC Mode commit.
9786         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
9787         search has succeded before using the match data.
9788         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
9789         Specify that the position of the extremity of the head or tail is in the
9790         match data.
9792 2017-07-02  Philipp Stephani  <phst@google.com>
9794         Remove FIXME comments about sentinel values
9796         These FIXMEs can't be addressed because they would require breaking
9797         changes to the module API.  Furthermore, other module functions don't
9798         return sentinel values as well, so users generally have to call
9799         non_local_exit_check anyway.
9801         * src/emacs-module.c (module_set_user_ptr)
9802         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
9803         FIXME comments.
9805 2017-07-02  Philipp Stephani  <phst@google.com>
9807         Adapt Lisp reference to reader changes
9809         The reader now warns about some unescaped character literals, but
9810         still allows them for compatibility reasons.  Slightly adapt the
9811         manual to forbid them officially.
9813         * doc/lispref/objects.texi (Basic Char Syntax): Document that
9814         backslashes are now required before some characters.
9816 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
9818         Fix Bug#27502
9820         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
9821         (find-file-hook): Use it.  (Bug#27502)
9822         (auto-revert-remove-current-buffer): New defun.
9823         (auto-revert-mode, auto-revert-buffers): Use it.
9825 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
9827         Let test summary go through even if some logs were not generated
9829         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
9830         for existence of log files before reading.
9832 2017-07-01  Philipp Stephani  <phst@google.com>
9834         * src/module-env-25.h (copy_string_contents): Fix comment.
9836 2017-07-01  Philipp Stephani  <phst@google.com>
9838         Also mark module init function as noexcept if possible
9840         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
9841         possible.
9843 2017-07-01  Philipp Stephani  <phst@google.com>
9845         Improve C++98 compatibility
9847         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
9848         C++98 doesn't allow trailing commas in enumerations.
9850 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9852         Minor copyedits of manuals regarding bidi conformance
9854         * doc/emacs/mule.texi (Bidirectional Editing):
9855         * doc/lispref/display.texi (Bidirectional Display): Update the
9856         bidi conformance text.
9858 2017-07-01  Alan Mackenzie  <acm@muc.de>
9860         Make C++ digit separators work.  Amend the handling of single quotes generally
9862         Single quotes, even in strings and comments, are now marked with the
9863         "punctuation" syntax-table property, except where they are validly bounding a
9864         character literal.  They are font locked with font-lock-warning-face except
9865         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
9867         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
9868         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
9869         functions/macros.
9871         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
9872         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
9874         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
9875         c-before-after-change-digit-quote from wherever it occurs.  Insert
9876         c-parse-quotes-before-change into the entries for the languages where it is
9877         needed.
9878         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
9879         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
9880         the languages which need it.
9881         (c-has-quoted-numbers): New lang-defconst/-defvar.
9883         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
9884         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
9885         (c-maybe-quoted-number): New defconsts.
9886         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
9887         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
9888         (c-parse-quotes-after-change): New functions.
9890 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9892         Ignore mouse-movement for describe-key-briefly (Bug#12204)
9894         * lisp/help.el (help-read-key-sequence): Add optional argument ot
9895         ignore `mouse-movement' events.
9896         (describe-key-briefly): Use it.
9897         * doc/emacs/help.texi (Key Help):
9898         * etc/NEWS: Mention that mouse movement is ignored.
9900 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9902         Refactor key describing commands
9904         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
9905         functions, extracted from `describe-key' and `describe-key-briefly'.
9906         (describe-key, describe-key-briefly): Use them.
9908 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9910         Improve display of tabs with line numbers
9912         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
9913         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
9915 2017-07-01  Alan Third  <alan@idiocy.org>
9917         Fix threads on NS (bug#25265)
9919         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
9920         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9921         src/nsterm.m (ns_select): Call thread_select from within ns_select.
9922         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9923         (ns_send_appdefined): Don't wait for main thread when sending app
9924         defined event.
9925         src/process.c (wait_reading_process_output): Call thread_select from
9926         within ns_select.
9927         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
9928         its event loop using ns_run_loop_break.
9930 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
9932         Avoid slow redisplay under 'visual' mode of line numbers
9934         * src/xdisp.c (display_count_lines_visually): Avoid very slow
9935         redisplay when this function is invoked very far from point.
9936         Reported by Alex <agrambot@gmail.com>.
9938 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
9940         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
9942 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9944         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
9946         (cl--random-state, cl--random-time): Move from cl-lib.el.
9947         (cl-random): Use struct accessors.
9948         (cl-random-state-p): Remove, provided by the defstruct.
9949         (cl-make-random-state): Rewrite to struct constructor.
9951 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9953         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
9955 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9957         Improve documentation of faces related to display-line-numbers
9959         * lisp/faces.el (line-number, line-number-current-line): Warn
9960         against using non-monospaced fonts.
9962 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9964         Fix relative-number display with non-nil display-line-number-width
9966         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
9967         value of display-line-number-width as acceptable.
9968         Handle the case of 'relative' with display-line-number-width
9969         non-nil and smaller than the absolute line number requires.
9970         Reported by Alex <agrambot@gmail.com>.
9972 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
9974         Release Tramp 2.3.2
9976         * doc/misc/tramp.texi (Android shell setup): Show default file name.
9977         Structure section.
9979         * doc/misc/trampver.texi:
9980         * lisp/net/trampver.el: Change version to "2.3.2".
9982         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
9983         Offer home directory for mock method if it doesn't exist.
9985 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
9987         Add documentation for display-line-numbers
9989         * doc/emacs/custom.texi (Init Rebinding):
9990         * doc/emacs/modes.texi (Minor Modes): Remove references to
9991         linum-mode.
9992         * doc/emacs/display.texi (Display Custom): Describe the
9993         line-number display.
9994         (Optional Mode Line): Fix the index entry to not conflict with
9995         that in "Display Custom".
9996         * doc/emacs/basic.texi (Position Info): Add cross-reference to
9997         "Display Custom", for line-number display.
9999         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
10000         display-line-numbers-disable in the doc string.
10002         * lisp/cus-start.el (standard): Fix lst change.
10004 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
10006         Support displaying zero as the number of the current line
10008         * src/xdisp.c (syms_of_xdisp)
10009         <display-line-numbers-current-absolute>: New variable.
10010         <display-line-numbers>: Doc fix.
10011         (maybe_produce_line_number): Support nil value of
10012         display-line-numbers-current-absolute.
10014         * lisp/cus-start.el (standard): Add customization form for
10015         display-line-numbers-current-absolute.
10017         * etc/NEWS: Document recently introduced features.
10019 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
10021         Speed up the visual-mode relative line numbers
10023         * src/xdisp.c (display_count_lines_visually): Introduce a
10024         shortcut: if a relative line number was already calculated for
10025         this iterator object, just increase it instead of the
10026         expensive call to move_it_to.  Argument list changed to pass a
10027         pointer to the iterator object.
10028         (maybe_produce_line_number): Adjust for change in signature of
10029         display_count_lines_visually.  Record the relative line number and
10030         the corresponding byte position in the iterator object also in the
10031         'visual' mode.
10033 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
10035         Fix hscrolling with line numbers on TTY frames
10037         * src/xdisp.c (hscroll_window_tree): Correct the X offset
10038         calculations on TTY frames.
10039         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
10040         a kludge using it->lnum_width.
10042 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
10044         Fix TAB display when the line-number face uses a smaller/larger font
10046         * src/dispextern.h (struct it): New member lnum_pixel_width.
10047         * src/xdisp.c (maybe_produce_line_number): Compute the width of
10048         the line-number display in pixels.
10049         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
10050         that used it->lnum_width and made assumptions about pixel width.
10052 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10054         Escape NUL bytes in X selections (Bug#6991)
10056         * lisp/term/w32-win.el (w32--set-selection):
10057         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
10058         "\0".
10059         * doc/emacs/killing.texi: Document new behavior.
10060         * etc/NEWS (times): Announce it.
10062 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10064         Hide byte code in backtraces (Bug#6991)
10066         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
10067         defaulting to `cl-print'.
10068         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
10069         `prin1'.
10070         * etc/NEWS: Announce it.
10072 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10074         Don't redundantly cl-print arglist in function docstring again
10076         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
10077         part of docstring.
10078         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
10079         test accordingly.
10081 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10083         Escape control characters in backtraces (Bug#6991)
10085         * src/print.c (syms_of_print): Add new variable,
10086         print-escape-control-characters.
10087         (print_object): Print control characters with octal escape codes when
10088         print-escape-control-characters is true.
10089         * lisp/subr.el (backtrace):
10090         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
10091         `print-escape-control-characters' to t.
10093 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10095         Improve ert backtrace recording
10097         Change ert to use the new `backtrace-frames' function instead of
10098         collecting frames one by one with `backtrace-frame'.  Additionally,
10099         collect frames starting from `signal' instead the somewhat arbitrary
10100         "6 from the bottom".  Skipping 6 frames would skip the expression that
10101         actually caused the signal that triggered the debugger.  Possibly 6
10102         was chosen because in the case of a failed test, the triggering frame
10103         is an `ert-fail' call, which is not so interesting.  But in case of a
10104         test throwing an error, this drops the `error' call which is too much.
10106         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
10107         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
10108         code from `debugger-make-xrefs'.
10109         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
10110         `debugger-insert-backtrace'.
10111         (ert--run-test-debugger): Record the backtrace frames starting from
10112         the instigating `signal' call.
10113         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
10114         DO-XREFS parameter.
10115         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
10116         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
10117         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
10118         the backtrace list instead of comparing its string representation.
10119         Expect `signal' to be the first frame.
10121 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
10123         Operate on frame list instead of printed backtrace
10125         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
10126         prints the given backtrace frames.
10127         (debugger-setup-buffer): Use it instead of editing the backtrace
10128         buffer text.
10130 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
10132         Minor fixes
10134         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
10135         line numbers to be displayed in empty lines beyond ZV.
10136         (x_produce_glyphs): Start fixing TAB display in truncated lines.
10138 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
10140         Improve timer handling when Tramp accepts output
10142         * lisp/net/tramp-compat.el: Avoid compiler warning.
10144         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
10145         Remove lock machinery.
10147         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
10148         (tramp-file-name-handler): Add lock machinery from
10149         `tramp-sh-file-name-handler'.  Allow timers to run.
10150         (tramp-accept-process-output): Remove nasty workaround.
10151         Suppress timers.
10153         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
10154         Suppress run in tests.
10155         (tramp--instrument-test-case-p): New defvar.
10156         (tramp--instrument-test-case): Use it in order to allow nested calls.
10157         (tramp--test-message, tramp--test-backtrace): New defsubst,
10158         will be used for occasional test instrumentation.
10159         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
10160         (tramp-test28-shell-command)
10161         (tramp--test-shell-command-to-string-asynchronously): Suppress
10162         nasty messages.  Don't overwrite sentinel.
10163         (tramp-test36-asynchronous-requests): Rewrite major parts.
10164         Expect :passed.
10166 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
10168         * lisp/url/url-history.el: Use lexical-binding
10170         (url-completion-function): Mark as obsolete.
10171         Mark unused args accordingly.
10173 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
10175         Don't assume url structs are vectors (Bug#27333)
10177         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
10178         instead of `vectorp'.
10180 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
10182         Replace with dolist some uses of while
10184         * lisp/calc/calc-units.el (calc-permanent-units):
10185         (math-compare-unit-names, math-simplify-units-quotient):
10186         (math-build-units-table-buffer): Use dolist to replace extra bindings
10187         and some while loops.
10189 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
10191         Make tcl-auto-fill-mode obsolete (Bug#10772)
10193         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
10194         * etc/NEWS: Announce it.
10196 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
10198         Don't read eshell/which output from *Help* buffer (Bug#26894)
10200         * lisp/help-fns.el (help-fns--analyse-function)
10201         (help-fns-function-description-header): New functions, extracted from
10202         describe-function-1.
10203         (describe-function-1): Use them.
10204         * lisp/eshell/esh-cmd.el (eshell/which): Use
10205         `help-fns-function-description-header' instead of
10206         `describe-function-1'.
10208 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
10210         Support default-text-properties
10212         * src/xdisp.c (should_produce_line_number): Call get-char-property
10213         at ZV as well, to support default-text-properties.
10215 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
10217         Avoid segfaults when some display vector is an empty string
10219         * src/xdisp.c (next_element_from_display_vector): Don't try
10220         accessing the dpvec[] array if its size is zero.  (Bug#27504)
10222 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
10224         Initial support for visually-relative line numbers
10226         Works very slowly.
10228         * src/xdisp.c (display_count_lines_visually): New function.
10229         (maybe_produce_line_number): Support 'visual' mode of line-number
10230         display.
10231         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
10232         also when glyph_row is NULL.  This is important for move_it_*
10233         functions.
10234         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
10235         (try_window_id, redisplay_window, try_cursor_movement): For
10236         'visual' line-number display, disable the same redisplay
10237         optimizations as for 'relative'.
10239         * lisp/cus-start.el (standard): Add new value for the
10240         customization form of display-line-numbers.
10242 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
10244         Update IT's metrics while simulating display
10246         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
10247         also when glyph_row is NULL.  This is important for move_it_*
10248         functions.
10250 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
10252         Fix bug in handling GnuPG's TRUST_MARGINAL status
10254         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
10255         to `good'.
10257 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
10259         Prefer `when' instead of 1-branch `if'
10261         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
10262         in local variable ok.
10263         Use `when' instead of 1-branch `if'.
10265 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
10267         Use #' instead of (function ...)
10269         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
10270         (dired-mark-confirm, dired-query, dired-byte-compile)
10271         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
10272         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
10273         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
10274         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
10275         (dired-do-copy-regexp, dired-do-hardlink-regexp)
10276         (dired-do-symlink-regexp, dired-create-files-non-directory)
10277         (dired-upcase, dired-downcase)
10279         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
10280         (dired-internal-do-deletions, dired-internal-do-deletions):
10281         Prefer #' instead of (function ...).
10283 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
10285         Don't quote lambda forms
10287         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
10288         (dired-mark, dired-desktop-buffer-misc-data)
10290         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
10291         (dired-create-files-non-directory, dired-insert-subdir-validate)
10292         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
10294 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
10296         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
10298         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
10299         and `brackets-after-id'.
10300         (c-font-lock-objc-methods): Mark unused args.
10302 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10304         Omit null-pointer test in intervals.h FRAME
10306         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
10307         (INTERVAL_LAST_POS): Omit unnecessary parens.
10308         (LENGTH): Omit test for null pointer.  The argument is never null.
10309         The unnecessary test causes GCC 7.1.0 to assume that the argument
10310         might be null, and therefore to issue false alarms when the
10311         argument is dereferenced in other expressions.
10313 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10315         Parenthesize frame.h macro definitions
10317         * src/frame.h (FRAME_TOOL_BAR_POSITION)
10318         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
10319         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
10320         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
10321         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
10322         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
10323         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
10324         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
10325         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
10326         to allow arbitrary expression arguments.
10328 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10330         Port recent frame changes to GCC 7
10332         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
10333         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
10334         might return null.  This also avoids a run-time test.
10336 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
10338         Minor aesthetic fix of last change.
10340 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
10342         Allow to disable display of line numbers beyond EOB
10344         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
10345         function.
10346         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
10347         * src/xdisp.c (should_produce_line_number): When at ZV, call
10348         disable_line_numbers_overlay_at_eob to determine whether line
10349         numbers should be displayed beyond ZV.
10351 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
10353         Fix Android 6/7 problems in Tramp
10355         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
10356         (tramp-adb-handle-directory-files-and-attributes)
10357         (tramp-adb-handle-file-name-all-completions): Insert "."  and
10358         ".." only when needed.
10359         (tramp-adb-get-ls-command): Force one column output for toybox.
10361 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
10363         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
10365 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
10367         Fix line number display for overlay/display strings with newlines
10369         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
10370         producing space glyphs instead of a line number to include the
10371         case of display strings and overlays.
10373 2017-06-25  Alan Mackenzie  <acm@muc.de>
10375         Make CC Mode load cl-lib rather than cl in Emacs 26.
10377         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
10378         variable.
10380         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
10381         (c--cl-library): New variable.
10382         (Top level): Amend the form which requires library cl or cl-lib.
10383         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
10384         (c--delete-duplicate): Amend to use c--cl-library instead of
10385         c--mapcan-status.
10387         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
10388         (c-back-over-compound-identifier): Remove unused local variables.
10390         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
10391         local variable.
10393         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
10394         of c--mapcan-status.
10396         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
10397         silence a compiler warning.
10399 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
10401         Provide additional support for child frames
10403         Provide mouse dragging and resizing of frames.  Allow resizing
10404         frames proportionally.  Provide additional functionality for
10405         child frames.  Minor bug fixes.
10407         * lisp/frame.el (frame-border-width, frame-pixel-width)
10408         (frame-pixel-height): Alias to `frame-internal-border-width',
10409         `frame-native-width' and `frame-native-height'.
10410         (frame-inner-width, frame-inner-height, frame-outer-width)
10411         (frame-outer-height): New functions.
10412         * lisp/minibuffer.el (completion-auto-help): Fix typo.
10413         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
10414         (mouse-drag-header-line): Allow moving a frame by dragging the
10415         mode line of its bottommost window (on a minibuffer-less frame)
10416         or the header line of its topmost window.
10417         (mouse-drag-vertical-line): Mention argument in doc-string.
10418         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
10419         (mouse-drag-top-left-corner, mouse-drag-top-edge)
10420         (mouse-drag-top-right-corner, mouse-drag-right-edge)
10421         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
10422         (mouse-drag-bottom-left-corner): New functions for resizing a
10423         frame by dragging its internal border together with
10424         corresponding key bindings.
10425         * lisp/tooltip.el (tooltip-frame-parameters): Add
10426         'no-special-glyphs' to default parameters and update version
10427         tag.
10428         * lisp/window.el (frame-auto-hide-function): Add choice to make
10429         frame invisible and update version tag.
10430         (window--delete): Handle 'auto-hide-function' frame parameter.
10431         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
10432         'no-accept-focus' frame parameters.
10433         (display-buffer--action-function-custom-type): Add
10434         `display-buffer-in-child-frame'.
10435         (display-buffer): Mention `display-buffer-in-child-frame' in
10436         doc-string.
10437         (display-buffer-in-child-frame): New action function for
10438         `display-buffer'.
10439         (window--sanitize-margin): Return zero when MARGIN cannot be
10440         sanitized.
10441         (fit-frame-to-buffer): Major rewrite to handle child frames and
10442         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
10443         frame parameters.
10444         (window-largest-empty-rectangle--maximums-1)
10445         (window-largest-empty-rectangle--maximums)
10446         (window-largest-empty-rectangle--disjoint-maximums)
10447         (window-largest-empty-rectangle): New functions.
10449         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
10450         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
10451         provided by corresponding functions window_wants_modeline and
10452         window_wants_header_line in window.c.  Adjust users.
10453         * src/dispnew.c (adjust_glyph_matrix)
10454         (buffer_posn_from_coords): Use window_wants_modeline and
10455         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10456         WINDOW_WANTS_HEADER_LINE_P.
10457         * src/frame.c (keep_ratio): New function.
10458         (adjust_frame_size): Call keep_ratio for each of F's child
10459         frames.
10460         (make_frame): Initialize no_special_glyphs slot.
10461         (frame_internal_border_part): New function.
10462         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
10463         to Fframe_native_width, Fframe_native_height mand
10464         Fframe_internal_border_width.
10465         (frame_parm_table): Add Qno_special_glyphs entry.
10466         (frame_float_type): New enumeration type.
10467         (frame_float): New function to handle frame size and position
10468         ratios.
10469         (x_set_frame_parameters): Handle size and position ratios.
10470         (x_set_no_special_glyphs): New function
10471         (x_figure_window_size): Handle size and position ratios.
10472         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
10473         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
10474         Qheight_only, Qleft_only and Qtop_only.
10475         * src/frame.h (internal_border_part): New enumeration type.
10476         (struct frame): New slot no_special_glyphs.
10477         (FRAME_NO_SPECIAL_GLYPHS): New macro.
10478         * src/gtkutil.c (xg_frame_restack): Return immediately for
10479         GTK versions before 2.18.0.
10480         * src/keyboard.c (internal_border_parts): New array constant.
10481         (make_lispy_position): For frames with border dragging enabled
10482         return internal border part.
10483         (syms_of_keyboard): New symbols Qdrag_internal_border,
10484         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
10485         Qright_edge, Qbottom_right_corner, Qbottom_edge and
10486         Qbottom_left_corner.
10487         * src/minibuf.c (read_minibuf_unwind): When exiting the
10488         minibuffer deal with frames that have the 'minibuffer-exit'
10489         parameter set.
10490         (syms_of_minibuf): New symbol Qminibuffer_exit.
10491         * src/nsfns.m (frame_parm_handler): Add entry for
10492         x_set_no_special_glyphs.
10493         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10494         Intitialize new cursor types for dragging frame borders.
10495         * src/nsterm.h (struct ns_output): Add new cursor types for
10496         dragging frame borders.
10497         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
10498         x_set_no_special_glyphs.
10499         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10500         Intitialize new cursor types for dragging frame borders.
10501         * src/w32term.h (struct w32_output): Add new cursor types for
10502         dragging frame borders.
10503         * src/window.c (coordinates_in_window)
10504         (Fwindow_line_height, window_internal_height): Use
10505         window_wants_modeline and window_wants_header_line instead of
10506         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
10507         (Fwindow_lines_pixel_dimensions): New function.
10508         (window_parameter): New function.
10509         (Fwindow_parameter): Call window_parameter.
10510         (window_wants_mode_line, window_wants_header_line): New
10511         functions replacing the macros WINDOW_WANTS_MODELINE_P and
10512         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
10513         (syms_of_window): New symbols Qmode_line_format and
10514         Qheader_line_format.
10515         * src/window.h: Reorganize and re-comment macros.  Use
10516         window_wants_modeline and window_wants_header_line instead of
10517         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
10518         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
10519         (WINDOW_BUFFER): New macro.
10520         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
10521         * src/xdisp.c (window_text_bottom_y, window_box_height)
10522         (window_box, start_display)
10523         (compute_window_start_on_continuation_line)
10524         (try_cursor_movement, redisplay_window)
10525         (try_window_reusing_current_matrix, try_window_id)
10526         (display_line, expose_window): Use window_wants_modeline and
10527         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10528         WINDOW_WANTS_HEADER_LINE_P.
10529         (pos_visible_p, display_mode_lines): Respect W's
10530         'mode-line-format' and 'header-line-format' window parameters.
10531         (init_iterator): Use window_wants_modeline and
10532         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10533         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
10534         no_special_glyphs value.
10535         (note_mouse_highlight): Set frame border cursors when on
10536         internal border.
10537         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
10538         drawing of window dividers.
10539         * src/xfns.c (mouse_cursor): Add entries for border parts.
10540         (mouse_cursor_types): Add entries for cursor types to drag
10541         frame borders.
10542         (INSTALL_CURSOR): Add entries for new cursor types to drag
10543         frame borders.
10544         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10545         (x_frame_parm_handlers): Add entry for
10546         x_set_no_special_glyphs.
10547         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
10548         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
10549         (Vx_window_right_edge_shape)
10550         (Vx_window_bottom_right_corner_shape)
10551         (Vx_window_bottom_edge_shape)
10552         (Vx_window_bottom_left_corner_shape): New variables.
10553         (x_frame_restack): Call xg_frame_restack only for GTK versions
10554         starting with 2.18.0.
10555         * src/xterm.c (x_free_frame_resources): Remove new cursors for
10556         dragging frame borders.
10557         * src/xterm.h (struct x_output): Add new cursor types for
10558         dragging frame borders.
10560         * doc/lispref/display.texi (Size of Displayed Text): Document
10561         `window-lines-pixel-dimensions'.
10562         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
10563         Parameters".
10564         * doc/lispref/frames.texi (Frame Size): Replace
10565         frame-pixel-width/-height by frame-native-width/-height.  Add
10566         frame-inner-width/-height and frame-outer-width/-height docs.
10567         (Position Parameters): Describe specifying position as ratios.
10568         Clarify remark about positions relative to bottom/ridge display
10569         edge.
10570         (Size Parameters): Describe specifying sizes as ratios.
10571         Describe 'fit-frame-to-buffer-margins' and
10572         'fit-frame-to-buffer-sizes' parameters.
10573         (Layout Parameters): Describe 'no-special-glyphs' parameter.
10574         (Frame Interaction Parameters): Describe 'auto-hide-function',
10575         'minibuffer-exit' and 'keep-ratio' parameters.
10576         (Mouse Dragging Parameters): New section describing
10577         'drag-internal-border', 'drag-with-header-line',
10578         'drag-with-mode-line', 'snap-width', 'top-visible' and
10579         'bottom-visible' parameters.
10580         (Management Parameters): Mention that `override-redirect' has
10581         no effect on MS Windows.
10582         (Font and Color Parameters): Mention child frames for `alpha'
10583         parameter.
10584         (Child Frames): Rewrite section with description and cross
10585         references to new frame parameters added.
10586         * doc/lispref/modes.texi (Mode Line Basics): Mention
10587         'mode-line-format' and 'header-line-format' window parameters.
10588         * doc/lispref/windows.texi (Resizing Windows): Mention effect
10589         of `fit-frame-to-buffer-margins' for child frames.
10590         (Display Action Functions): New action function
10591         `display-buffer-in-child-frame'.
10592         (Quitting Windows): Mention `make-frame-invisible' as optional
10593         value of `frame-auto-hide-function' and `auto-hide-function'
10594         frame paameter.
10595         (Coordinates and Windows): Describe new function
10596         `window-largest-empty-rectangle'.
10597         (Window Parameters): Describe new parameters 'mode-line-format'
10598         and 'header-line-format'.  Index all window parameters described
10599         in this section.
10601 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10603         Adjust lm-verify to accept current notices
10605         Problem reported by Mike Kupfer in:
10606         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
10607         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
10608         Do not require later lines in a copyright notice to have more
10609         indentation than earlier lines.
10611 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10613         Minor change in NEWS.
10615         Improve documentation in NEWS.
10617 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10619         Move additional hscrolling code into a suitable 'if'
10621         * src/xdisp.c (hscroll_window_tree): Make additional calculations
10622         regarding glyphs produced for line numbers conditional on
10623         line-number display.
10625 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10627         Partial fix of hscroll of truncated lines with line numbers
10629         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
10630         hscroll calculations to line-number display.
10631         * src/term.c (produce_glyphs): Adjust tab stop to window's
10632         hscroll.  These two changes fix horizontal scrolling when line
10633         numbers are displayed.  But there's still a bug: the horizontal
10634         shift of lines that begin with a TAB is different from the rest.
10635         * src/xdisp.c (move_it_in_display_line_to): Call
10636         should_produce_line_number to determine whether a line number
10637         should be produced for this screen line.
10639 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
10641         Don't change byte-compile-delete-errors at runtime (Bug#27340)
10643         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
10644         time.
10646 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10648         Allow Lisp program to disable line-number display for specific lines
10650         * etc/NEWS: Update the documentation.
10652         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
10653         symbol.
10654         (should_produce_line_number): New function.
10655         (display_line): Use should_produce_line_number to determine
10656         whether a line number should be produced for each glyph row.
10658 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10660         * lisp/net/html2text.el: Move to obsolete/.
10662 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10664         Support a separate face for displaying the current line's number
10666         * lisp/faces.el (line-number-current-line): New face.
10668         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
10669         symbol.
10670         (try_window_id, try_cursor_movement): Disable these optimizations
10671         when the line-number-current-line face is different from
10672         line-number face.
10673         (maybe_produce_line_number): Display the current line in the
10674         line-number-current-line face, if it's different from line-number.
10676 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10678         Change display of current line in relative mode
10680         * src/xdisp.c (maybe_produce_line_number): In relative mode
10681         display the current line number as its absolute value, not as zero.
10683 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10685         Rename display-line-width
10687         * etc/NEWS:
10688         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
10689         * lisp/cus-start.el: Rename display-line-width to
10690         display-line-number-width.
10692 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10694         Fix tab stops when line numbers are displayed
10696         * src/xdisp.c (x_produce_glyphs):
10697         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
10698         space taken by the line-number display.
10700 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10702         Fix crashes on TTY frames due to negative lnum_width.
10704         Don't display line numbers in the minibuffer and in tooltip frames.
10706 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10708         Fix problems with line-number updates in Follow mode
10710         * src/xdisp.c (redisplay_window): If forced window-start requires
10711         to move a window's point, and the window is under relative
10712         line-number display, force another round of redisplay to update
10713         the relative line numbers.  This fixes follow-mode "redisplay" of
10714         its window group.
10716         * lisp/frame.el: Add display-line-numbers to the list of variables
10717         that should trigger redisplay of the current buffer.
10719 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
10721         Fix display of line numbers with fonts larger than the default
10723         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
10724         IT, not in IT->glyph_row, since the latter gets overwritten in
10725         display_line.  Fixes display of line numbers when the font used
10726         for them is larger than that of the default face.
10728 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
10730         Fix background color beyond EOB and cursor display
10732         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
10733         for background of the blank glyphs in the line-number area which
10734         are drawn beyond EOB.
10735         (display_line): Reset the glyph row's displays_text_p flag only on
10736         empty lines that don't display line numbers.  This fixes cursor
10737         display beyond EOB.  Fix the bidi information in the glyphs
10738         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
10739         produced for line numbers.
10741 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
10743         Fix display of indicate-empty-lines when line numbers are displayed
10745         * src/xdisp.c (row_text_area_empty): New function.
10746         (display_line): Call row_text_area_empty to verify that a glyph
10747         row's text area is devoid of any glyphs that came from a buffer or
10748         a string.  This fixes a bug with empty-lines indication
10749         disappearing when line numbers or line-prefix are displayed.
10750         (display_line): Delete the argument FORCE; all callers changed.
10751         Remove the condition for actually producing the glyphs for the
10752         line number, as even if the number didn't change we need to
10753         produce empty space.
10755 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10757         Fix symbol relocation when the relocated cell is renamed.
10759         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
10760         hashmap has been instantiated before getting data from it.  When
10761         editing several spreadsheets, and you have spreadsheet #1 with a
10762         cell named `foo', and no renamed cell in spreadsheet #2, then if
10763         you make a formula with `foo' in spreadsheet #2, not doing this
10764         check will make an error.
10765         (ses-cell-set-formula): Robustify versus incorrect cell references
10766         given in the user provided formula.  An explicit error message is
10767         provided after the action when the user gives an incorrect cell
10768         reference, but the formula edition is not changed.  This means that
10769         if the incorrect reference is to a cell that is created someday,
10770         then this new cell will not have the edited cell in its reference
10771         list.  Fixing this can still be done by editing again the first
10772         cell formula.
10773         (ses-relocate-symbol): Do not create symbol of referred-to cell
10774         when this is a renamed cell.
10776 2017-06-23  Rasmus  <rasmus@gmx.us>
10778         Synchronize with the "emacs-sync" branch from Org
10780 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10782         Remove getc_unlocked configure-time check
10784         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
10785         does this for us.
10787 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10789         Use unlocked stdio more systematically
10791         This can improve performance significantly on stdio-bottlenecked code.
10792         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
10793         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
10794         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
10795         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
10796         * lib-src/profile.c, lib-src/update-game-score.c:
10797         Include unlocked-io.h instead of stdio.h, since these programs are
10798         single-threaded.
10799         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10800         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
10801         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
10802         * src/lread.c, src/term.c:
10803         Include sysstdio.h, possibly instead of stdio.h, to define
10804         the unlocked functions if the system does not provide them.
10805         * src/charset.c, src/lread.c (getc_unlocked):
10806         Remove, since sysstdio.h now defines it if needed.
10807         * src/cm.c (cmputc, cmcheckmagic):
10808         * src/dispnew.c (update_frame, update_frame_with_menu)
10809         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
10810         * src/emacs.c (main, Fdump_emacs):
10811         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
10812         * src/image.c (slurp_file, png_read_from_file, png_load_body)
10813         (our_stdio_fill_input_buffer):
10814         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
10815         * src/lread.c (readbyte_from_file):
10816         * src/minibuf.c (read_minibuf_noninteractive):
10817         * src/print.c (printchar_to_stream, strout)
10818         (Fredirect_debugging_output):
10819         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
10820         (procfs_get_total_memory):
10821         * src/term.c (tty_ring_bell, tty_send_additional_strings)
10822         (tty_set_terminal_modes, tty_reset_terminal_modes)
10823         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
10824         (tty_write_glyphs_with_face, tty_insert_glyphs)
10825         (tty_menu_activate):
10826         * src/xfaces.c (Fx_load_color_file):
10827         Use unlocked stdio when it should be safe.
10828         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
10829         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
10830         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
10831         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
10833 2017-06-22  Glenn Morris  <rgm@gnu.org>
10835         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
10837 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
10839         unidata: don’t check special casing in unidata-check  (bug#26656)
10841         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
10842         casing mapping of characters since that mapping is not constructed from
10843         the unidata.txt file.
10844         Also, check for integer decoder and cons char earlier so that less
10845         unnecessary processing is performed.
10847 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10849         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
10851         Avoid string-to-multibyte and string-as-unibyte.
10852         Don't make *Help* unibyte just because the char was in a unibyte buffer.
10854 2017-06-22  Rasmus  <rasmus@gmx.us>
10856         Add Org schemas.xml contents to Emacs schemas.xml
10858         Entries from the Org version of schemas.xml have been added to
10859         the Emacs version of schemas.xml.
10861 2017-06-22  Rasmus  <rasmus@gmx.us>
10863         Update Org to v9.0.9
10865         Please see etc/ORG-NEWS for details.
10867 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10869         Do not hard code A1 cell reference, as it may be renamed.
10871         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
10873 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
10875         Fix make_hash_table calls in lread.c
10877         * src/lread.c (readevalloop, read_internal_start): Fix
10878         make_hash_table calls to make build succeed.
10880 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10882         Merge several Lisp reader speedups.
10884 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10886         Create less garbage to collect while reading symbols.
10888         * src/lread.c (read1): When interning a symbol, only create a new
10889         string object for the name if we're going to use it for a new symbol
10890         object.
10892 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10894         Replace read_objects assoc list with two hash tables.
10896         For larger input files with lots of shared data structures, an
10897         association list is too slow.
10899         * src/lread.c (read_objects_map, read_objects_completed): New
10900         variables, replacing read_objects.
10901         (readevalloop): Initialize them with hash tables before starting a
10902         top-level read, if they're not already empty hash tables, and reset
10903         them to Qnil afterwards if something was added to the hash tables.
10904         (read_internal_start): Likewise.
10905         (read1): Store first the placeholder and later the newly read object
10906         into read_objects_map under the specified object number.  If the new
10907         object can contain a reference to itself, store it in
10908         read_objects_completed.
10909         (substitute_objects_recurse): Check read_objects_completed instead of
10910         read_objects for the known possibly-recursive objects.
10911         (syms_of_lread): Update initializations.
10913 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10915         Use getc_unlocked.
10917         * configure.ac: Check for getc_unlocked.
10918         * src/charset.c (read_hex, load_charset_map_from_file): Use
10919         getc_unlocked instead of getc.
10920         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
10921         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
10922         getc_unlocked): Likewise.
10924 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10926         Reduce lread substitutions.
10928         * src/lread.c (read1): After reading an object using the "#n=" syntax,
10929         if the read object is a cons cell, instead of recursively substituting
10930         the placeholder with the new object, mutate the placeholder cons cell
10931         itself to have the correct car and cdr values.
10933 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
10935         Short-circuit substitutions for some simple types.
10937         Values that don't contain other values cannot be circular, so checking
10938         for circular objects is a waste of cycles.
10940         * src/lread.c (substitute_object_recurse): If the subtree being
10941         examined is a symbol, number, or property-less string, just return
10942         it.
10944 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10946         Limit style_format to MAX_ALLOCA
10948         * src/editfns.c (styled_format): Subtract initial buffer size
10949         from sa_avail, since it is nontrivial.
10951 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10953         Limit bidi_find_bracket_pairs to MAX_ALLOCA
10955         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
10956         Shrink it to allow for the two struct bidi_it objects in
10957         the same frame.
10958         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
10959         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
10961 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10963         Limit insert-file-contents to MAX_ALLOCA
10965         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
10966         MAX_ALLOCA bytes in a single stack array.
10968 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
10970         Remove malloc_find_address relic
10972         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
10973         Omit unnecessary initialization.
10975 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
10977         Fix temacs hybrid_malloc core dump
10979         Without this patch, ./temacs would dump core sometimes on Fedora
10980         25 x86-64.  The problem was that the hybrid allocator assumed that
10981         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
10982         assumption is not true on Fedora, because the standard memory
10983         allocator calls gdefault_morecore, which means its blocks are
10984         interleaved with our blocks.  Usually the code happened to work,
10985         because our data structures agreed with the glibc data structures,
10986         but this was merely luck due to a shared pedigree, and as glibc
10987         mutates our luck has run out.
10988         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
10989         Remove; no longer needed.
10990         (BLOCK): Use unsigned division, as that does the right thing near zero.
10991         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
10992         (_realloc_internal_nolock):
10993         Big blocks now have type -1, not 0, as 0 now means the block is
10994         not ours.
10995         (morecore_nolock): Omit now-unnecessary casts to size_t.
10996         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
10997         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
10998         avoid calling the wrong free or realloc function in some cases.
11000 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
11002         Make gnus-article-date-user work
11004         * lisp/gnus/gnus-art.el (article-date-ut):
11005         Work for unfolded multi-line Date header.
11006         (article-transform-date):
11007         Refactor; add header name if it is missing in user-defined date line.
11008         (article-date-user): Fix name of date type.
11010 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
11012         Keep order of completion candidates (Bug#25995, Bug#24676)
11014         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
11015         (completion-pcm--all-completions): Use nreverse to undo the reversing
11016         caused by using push in the loop.
11018 2017-06-21  Glenn Morris  <rgm@gnu.org>
11020         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
11022 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
11024         Mark prolog indent variables as safe (bug#27369)
11026         * lisp/progmodes/prolog.el (prolog-indent-width)
11027         (prolog-left-indent-regexp, prolog-paren-indent-p)
11028         (prolog-paren-indent): Add :safe property.
11030 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
11032         Remove `:options' from `css-electric-keys'
11034         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
11035         since it just duplicates the default value.
11037 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11039         Fix crash when built by GNU Gold linker on x86
11041         Problem reported by Andrés Musetti (Bug#27248).
11042         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
11043         (emacsFrameClass): Now a function (which initializes the
11044         superclass) instead of a variable.  All uses changed.
11046 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11048         Simplify autogen.sh version checking
11050         * autogen.sh (get_version): Simplify and make more reliable
11051         by using expr rather than echo | sed.  Check exit status of program.
11052         Run program in subshell in case it cannot be executed.
11053         (check_version): Check exit status of command rather than its output.
11054         Check return status of get_version.
11056 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
11058         Delete old Date header in a simple way
11060         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
11061         when searching the old Date header boundary in order to delete it.
11063 2017-06-20  Bastien  <bzg@gnu.org>
11065         Revert "Don't bind org-agenda key to an anonymous function"
11067         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
11069 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
11071         Bind enable-local-variables to nil globally (fix dbe3e41)
11073         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
11074         Bind enable-local-variables to nil globally instead of making it
11075         buffer-local; remove let-bind of local-enable-local-variables.
11076         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
11078 2017-06-20  Glenn Morris  <rgm@gnu.org>
11080         kill-matching-buffers to optionally not confirm
11082         * lisp/files.el (kill-matching-buffers):
11083         Add option to not confirm killing.  (Bug#27286)
11085 2017-06-20  Glenn Morris  <rgm@gnu.org>
11087         * lisp/files.el (local-enable-local-variables): Doc fix.
11089 2017-06-20  Glenn Morris  <rgm@gnu.org>
11091         autogen.sh: try to check for tool being present but broken
11093         * autogen.sh (get_version): Check return status of "--version".
11094         (check_version): Try to distinguish between a missing tool
11095         and a broken one.  (Bug#27288)
11097 2017-06-19  Glenn Morris  <rgm@gnu.org>
11099         Avoid a custom-variable-type error (bug#27363)
11101         * lisp/cus-edit.el (custom-variable-type):
11102         Avoid an error due to plist-put becoming stricter of late.
11104 2017-06-19  Glenn Morris  <rgm@gnu.org>
11106         Don't put deleted packages in the trash (bug#14967)
11108         * lisp/emacs-lisp/package.el (package-delete):
11109         Don't pay attention to delete-by-moving-to-trash.
11111 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
11113         Revert "Add current-line in simple.el"
11115         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
11117 2017-06-19  Damien Cassou  <damien@cassou.me>
11119         Add current-line in simple.el
11121         * lisp/simple.el (current-line): New function.
11122         * test/lisp/simple-tests.el: Add tests for current-line.
11124 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
11126         Don't try to eval local variables in Gnus article
11128         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
11130 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
11132         Fix emacs-module.h cleaning
11134         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
11135         (bootstrap-clean): Remove emacs-module.h.
11137 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
11139         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
11140         in regex.
11142 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
11144         * lib/gettext.h: Merge from gnulib.
11146 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
11148         Merge from gnulib
11150         This (and my previous patch) incorporate:
11151         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
11152         2017-06-15 gettext-h: Update comment
11153         * lib/diffseq.h: Copy from gnulib.
11155 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
11157         * test/Makefile.in: Don't suppress test failure for single tests.
11159 2017-06-17  Philipp Stephani  <phst@google.com>
11161         emacs-module.h: Create emacs_env_26
11163         This was part of the original design of the module
11164         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
11165         but I didn't take it into account when adding the should_quit
11166         function.
11168         Instead of duplicating the environment fields or using the C
11169         preprocessor, use configure to build emacs-module.h.
11171         * configure.ac: Expand emacs-module.h template.
11173 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
11175         Improve documentation of replace-buffer-contents
11177         * etc/NEWS (replace-buffer-contents): Fix formatting.
11179         * src/editfns.c (Freplace_buffer_contents): Doc fix.
11181 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
11183         Finish up native display of line numbers
11185         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
11186         the number, for R2L rows.  Increment 'g' in the loop even if
11187         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
11188         line-number glyphs if it is non-zero.
11189         (move_it_in_display_line_to): Account for the space taken by the
11190         line-number glyphs.  Call maybe_produce_line_number with 2nd
11191         argument non-zero.
11192         (set_cursor_from_row): Fix calculation of cursor X coordinate in
11193         R2L rows with display-produced glyphs at the beginning.
11194         (syms_of_xdisp) <line-number>: New face symbol.
11195         <relative, display-line-width>: New symbols.
11196         (maybe_produce_line_number): Use the line-number face for
11197         displaying line numbers.  Support relative line-number display.
11198         Support user-defined width for displaying line numbers.
11199         (try_cursor_movement, try_window_id): Disable these optimizations
11200         when displaying relative line numbers.
11201         * src/dispextern.h (struct it): New member 'pt_lnum'.
11203         * lisp/faces.el (line-number): New face.
11204         * lisp/cus-start.el (standard): Provide customization forms for
11205         display-line-numbers and display-line-width.
11206         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
11207         turn display-line-numbers on and off.
11209         * etc/NEWS: Document the new feature.
11211 2017-06-17  Philipp Stephani  <phst@google.com>
11213         Allow local variables section to begin with a square bracket
11215         Fixes Bug#27391.
11217         * lisp/international/mule.el (find-auto-coding): Fix regular
11218         expression for "Local Variables" section.
11220         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
11221         Add unit test.
11223 2017-06-17  Philipp Stephani  <phst@google.com>
11225         Remove unnecessary point motion
11227         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
11228         motion.
11230 2017-06-17  Philipp Stephani  <phst@google.com>
11232         Add command to replace buffer contents
11234         Add a new command 'replace-buffer-contents' that uses the Myers diff
11235         algorithm to non-destructively replace the accessible portion of the
11236         current buffer.  The Myers algorithm is implemented in Gnulib.
11238         * src/editfns.c (Freplace_buffer_contents): New command.
11239         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
11240         (syms_of_editfns): Define new command.
11242         * test/src/editfns-tests.el (replace-buffer-contents-1)
11243         (replace-buffer-contents-2): New unit tests.
11245         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
11247         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
11249 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
11251         * lisp/international/characters.el: Update list of zero and full
11252         width characters according to Unicode 9.0.0.
11254 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
11256         Complete CSS property values less eagerly (Bug#27392)
11258         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
11259         eager by looking for a colon after the property which values are being
11260         completed for.
11262         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
11263         Add a test case ensuring that properties that are prefixes of other
11264         properties don't hinder further completion.
11266 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
11268         Handle integer indices for eshell variables (Bug#26055)
11270         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
11271         if it's been marked as one, just like `eshell-lisp-command' does.
11273 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
11275         Don't bind org-agenda key to an anonymous function
11277         * lisp/org/org-agenda.el: Bind "g" to named command.
11278         (org-agenda-redo-all): New command.  Extend the previous functionality
11279         through a prefix argument.
11281 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
11283         Add test for the fix in the parent commit
11285         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
11286         New test, for the fix in the parent commit.
11288 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
11290         primitive-undo: Update only the currently valid markers
11292         * lisp/simple.el (primitive-undo):
11293         Update only the currently valid markers (bug#25599).
11295 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
11297         Initial version of native display of line numbers
11299         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
11300         buffer-local variable.
11301         Include <math.h>.
11302         (maybe_produce_line_number): New function.
11303         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
11304         (try_window_reusing_current_matrix): Don't use this method when
11305         display-line-numbers is in effect.
11306         * src/dispextern.h (struct it): New members 'lnum'.
11308 2017-06-16  Philipp Stephani  <phst@google.com>
11310         Correctly detect URLs surrounded by parentheses in comments
11312         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
11313         Make parentheses match work inside comments.
11315         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
11316         unit test.
11318 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
11320         Fix load-path issue when it contains remote directories
11322         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
11323         (tramp-use-absolute-autoload-file-names): New defun.  Call it
11324         after loading tramp.el.
11326         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
11327         New test.
11328         (tramp-test39-unload): Rename.
11330 2017-06-16  Alan Mackenzie  <acm@muc.de>
11332         Ensure C++ initializer lists don't get fontified.
11334         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
11335         compiler warning.
11337         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
11338         clause to handle C++ member initialization lists.
11339         (c-font-lock-single-decl): New function, extracted from
11340         c-font-lock-declarations.
11341         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
11342         code.
11343         (c-font-lock-cut-off-declarators): Make more rigorous by calling
11344         c-get-fontification-context, c-forward-decl-or-cast-1, and
11345         c-font-lock-single-decl in place of rather approximate code.
11347 2017-06-16  Alan Mackenzie  <acm@muc.de>
11349         Fix hang in CC Mode when ":" is typed after identifier at EOB.
11351         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
11352         confusing ":" and EOB.
11354 2017-06-15  Alan Mackenzie  <acm@muc.de>
11356         Create a toggle between block and line comments in CC Mode.
11358         Also (unrelated change) initialize the modes' keymaps at each loading.
11360         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
11361         on the modeline.
11362         (c-block-comment-flag): New variable.
11363         (c-toggle-comment-style): New function.
11365         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
11366         (c-line-comment-starter): Make them c-lang-defvars.
11367         (c-block-comment-is-default): New c-lang-defvar.
11368         (comment-start, comment-end): Make the default values dependent on
11369         c-block-comment-is-default.
11371         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
11372         (c-basic-common-init): Initialize c-block-comment-flag.
11373         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
11374         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
11375         mode is loaded rather than just once per Emacs session.
11377         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
11378         style.
11379         (Minor Modes): Define comment style.  Describe how comment style influences
11380         the information displayed on the modeline.  Document c-toggle-comment-style.
11381         (FAQ): Add a question about toggling the comment style.
11383 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11385         Pacify clang without munging C source
11387         * configure.ac (WARN_CFLAGS): With Clang, use
11388         -Wno-tautological-compare regardless of --enable-gcc-warnings.
11389         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
11390         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
11391         change which I hope is no longer needed.
11392         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
11393         some older non-POSIX hosts.
11395 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11397         No need to complicate make-docfile.c for Clang
11399         * lib-src/make-docfile.c (put_filename): Undo recent change.
11400         The Clang false alarm occurs only with CFLAGS=-save-temps and
11401         we needn’t worry about pacifying unusual compiler configurations.
11403 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11405         Port './configure CC=clang' to Fedora 25
11407         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
11408         standard function like MagickRelinquishMemory does not link.
11410 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11412         Don’t worry about __STDC_VERSION__ in emacs-module
11414         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
11415         we’ve found that some compilers do not define this symbol even
11416         when they work well enough.  If necessary features like stdbool.h
11417         are missing the compiler will complain eventually anyway.
11419 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11421         Port cleanup check to Oracle Studio 12.5
11423         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
11424         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
11425         #if this time.
11427 2017-06-14  Bastien  <bzg@gnu.org>
11429         Fix misformatted changelog entry
11431 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
11433         Avoid compiler warning in image.c on MS-Windows
11435         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
11436         compilation warning under -Warray-bounds by temporarily disabling
11437         the -Warray-bounds option.
11439 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
11441         Fix Bug#27315
11443         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
11444         New defvar.
11445         (top): Use it.
11447         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
11448         Check for connected, not for connectable.  (Bug#27315)
11449         (tramp-process-actions):
11450         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
11451         Use `tramp-cache-read-persistent-data'.
11453         * test/lisp/net/tramp-tests.el (top): Set also
11454         `tramp-cache-read-persistent-data'.
11456 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
11458         Give a fixed default value for icomplete-prospects-height (Bug#26939)
11460         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
11461         (icomplete-prospects-length): Remove.
11462         * etc/NEWS: Announce removal.
11464 2017-06-14  Philipp Stephani  <phst@google.com>
11466         Remove some tautological comparisons involving rlim_t
11468         Clang on macOS warns about these with -Wtautological-compare.  POSIX
11469         guarantees that rlim_t is
11470         unsigned (cf.
11471         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
11472         so these resource limits can never be negative.
11474         * src/emacs.c (main): Remove tautological comparisons.
11476 2017-06-14  Philipp Stephani  <phst@google.com>
11478         Use --module-assertions if modules are available
11480         Using --module-assertions helps us find bugs in the test module.  But
11481         we can use it only if Emacs was compiled with module support.
11483         * test/Makefile.in (MODULES_EMACSOPT): New variable.
11484         (emacs): Use it.
11486 2017-06-14  Philipp Stephani  <phst@google.com>
11488         Define --module-assertions only of modules are available
11490         Fixes Bug#27352.
11492         * src/emacs.c (usage_message, standard_args): Define
11493         --module-assertions only if Emacs has been compiled with module
11494         support.
11496 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
11498         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
11500         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
11501         No need to restore window config for WDD and WDW commands.
11503 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11505         lisp/net/soap-client.el: Bump version to 3.1.3
11507         * lisp/net/soap-client.el: Bump version to 3.1.3.
11508         (soap-name-p): Fix checkdoc issue.
11510 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
11512         Fix an HTTP encoding error in soap-client.el
11514         * lisp/net/soap-client.el (soap-invoke-internal): Make
11515         SOAPAction header a UTF-8 encoded string.
11517 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11519         Port cleanup attribute to Oracle Studio 12.5
11521         * INSTALL (--with-modules): List cleanup attribute as prereq.
11522         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
11523         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
11524         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
11525         __has_attribute only inside preprocessor expressions.  The C
11526         compiler should check the cleanup attribute in the next line anyway.
11527         (module_reset_handlerlist): Remove an unnecessary ‘const’
11528         that causes Oracle Studio 12.5 to refuse to compile.
11530 2017-06-14  Glenn Morris  <rgm@gnu.org>
11532         Fix running tests in without-modules builds
11534         * test/Makefile.in (EMACSOPT): Remove option that is only defined
11535         with-modules.  emacs-module-tests.el passes it where needed.
11537 2017-06-13  Glenn Morris  <rgm@gnu.org>
11539         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
11541 2017-06-13  Philipp Stephani  <phst@google.com>
11543         Inline test module Makefile into main test Makefile
11545         The test/data/emacs-module/Makefile only built a single target, and
11546         inlining it into test/Makefile simplifies dependency tracking and
11547         reduces code duplication.
11549         * configure.ac: Don't build test/data/emacs-module/Makefile.
11551         * Makefile.in ($(test_module)): Inline compilation.
11552         (clean): Also clean test module outputs.
11554 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
11556         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
11558 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
11560         Minor tweaks in Tramp manual
11562         * doc/misc/trampver.texi: Add prefixwithspace flag.
11564         * doc/misc/tramp.texi (Password handling): Harmonize example.
11565         (File name completion): Use prefixwithspace flag.
11566         (Frequently Asked Questions): Explain `tramp-histfile-override'.
11568 2017-06-13  Philipp Stephani  <phst@google.com>
11570         Silence two Clang warnings by introducing additional local variables
11572         * lib/strftime.c (libc_hidden_def):
11573         * lib-src/make-docfile.c (put_filename): Introduce local variables to
11574         silence Clang warnings.
11576 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
11578         Fix wrong indentation after string literal (Bug#27306)
11580         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
11581         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
11582         * test/lisp/emacs-lisp/lisp-mode-tests.el
11583         (lisp-indent-region-after-string-literal): New test.
11585 2017-06-13  Philipp Stephani  <phst@google.com>
11587         Fix version checks for emacs-module.h
11589         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
11590         don't need it at all.
11592 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
11594         Buttonize #<bytecode> part of printed functions (Bug#25226)
11596         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
11597         (cl-print-compiled-button): New variable.
11598         (help-byte-code): New button type, calls `disassemble' in its action.
11599         (cl-print-object): Use it if `cl-print-compiled-button' is
11600         non-nil.
11602 2017-06-12  Philipp Stephani  <phst@google.com>
11604         Print module structure sizes when initializing test module
11606         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
11607         compile-time and runtime sizes of module structures to ease debugging
11609 2017-06-12  Glenn Morris  <rgm@gnu.org>
11611         Small portability fix for emacs-module.h (bug#27346)
11613         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
11614         Avoid 'error: missing binary operator before token "("'.
11616 2017-06-12  Glenn Morris  <rgm@gnu.org>
11618         Give a more informative failure in module assertion test
11620         * test/src/emacs-module-tests.el (module--test-assertions):
11621         Rephrase final check to give a more informative failure.
11623 2017-06-12  Philipp Stephani  <phst@google.com>
11625         Fix off-by-one error
11627         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
11628         off-by-one error.
11630 2017-06-12  Glenn Morris  <rgm@gnu.org>
11632         Clean up after module assertion tests
11634         * test/src/emacs-module-tests.el (module--test-assertions):
11635         Use a temporary directory to contain any core dumps.
11637 2017-06-12  Glenn Morris  <rgm@gnu.org>
11639         Small improvement for module assertion test
11641         * test/src/emacs-module-tests.el (module--test-assertions):
11642         Don't rely on the precise form of an "Abort" message.
11644 2017-06-12  Glenn Morris  <rgm@gnu.org>
11646         Improve previous test/data/emacs-module/Makefile change
11648         * test/data/emacs-module/Makefile.in (clean):
11649         Avoid doing unpleasant things if run in a build without modules.
11651 2017-06-12  Glenn Morris  <rgm@gnu.org>
11653         Small improvements for test/data/emacs-module/Makefile
11655         * test/data/emacs-module/Makefile.in (%.o):
11656         Fix emacs-module dependency.
11657         (SECONDARY): Stop make automatically deleting *.o.
11658         (clean): New rule.
11660 2017-06-12  Glenn Morris  <rgm@gnu.org>
11662         * make-dist: Skip some more generated files in test/.
11664 2017-06-12  Alan Third  <alan@idiocy.org>
11666         Note how fullscreen differs on the NS port
11668         doc/lispref/frames.texi (Size Parameters):
11669         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
11670         hides the tool-bar and menu-bar in fullscreen.
11672 2017-06-12  Alan Third  <alan@idiocy.org>
11674         Add no-focus-on-map to NS build (bug#25408)
11676         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
11677         (x-create-frame): Check for no-focus-on-map.
11678         * src/nsterm.h (x_set_no_focus_on_map): New function.
11679         * src/nsterm.m (x_set_no_focus_on_map): New function.
11680         (ns_raise_frame): Add parameter for specifying whether to focus the
11681         frame.
11682         (ns_frame_raise_lower):
11683         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
11685 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11687         _Noreturn not noreturn
11689         _Noreturn is more portable to non-C11 platforms.  See:
11690         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
11691         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
11692         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
11694 2017-06-12  Glenn Morris  <rgm@gnu.org>
11696         Update make-dist for recent test/ changes
11698         * make-dist: No longer distribute test/data/emacs-module/Makefile.
11700 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
11702         Handle port and domain in Tramp's password cache
11704         * doc/misc/tramp.texi (Password handling): Explain port and
11705         domain handling in authinfo.
11707         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
11708         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
11709         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
11710         (tramp-maybe-open-connection):
11711         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11712         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
11713         (tramp-smb-maybe-open-connection): Handle also domain and port.
11715 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
11717         Avoid compilation warnings with pre-C99 libc
11719         * src/emacs-module.c (module_free_global_ref)
11720         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
11721         instead of C99 't' format descriptor.
11723 2017-06-12  Philipp Stephani  <phst@google.com>
11725         Flush all output streams before aborting
11727         Maybe the stdout buffer still contains something interesting that
11728         should be flushed.
11730         * src/emacs-module.c (module_abort): Flush all output streams before
11731         aborting.
11733 2017-06-12  Philipp Stephani  <phst@google.com>
11735         Remove an assertion that doesn't test Emacs invariants
11737         * src/emacs-module.c (module_copy_string_contents): Remove an
11738         assertion that doesn't test Emacs invariants.
11740 2017-06-12  Philipp Stephani  <phst@google.com>
11742         Test module: add necessary version checks
11744         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
11745         version checks.
11747 2017-06-12  Philipp Stephani  <phst@google.com>
11749         Use additional CFLAGS from configure
11751 2017-06-12  Philipp Stephani  <phst@google.com>
11753         Use Autoconf to generate the test module Makefile
11755         This makes it easier to pass compilation flags around.
11757         * configure.ac: Also build test module Makefile.
11759         * test/data/emacs-module/Makefile.in: New makefile template.
11761         * test/Makefile.in ($(test_module)): No longer necessary to pass
11762         @MODULES_SUFFIX@ around.
11764         * .gitignore: Test module Makefile can now be ignored.
11766 2017-06-12  Philipp Stephani  <phst@google.com>
11768         Also compile test module as C11
11770         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
11772 2017-06-12  Philipp Stephani  <phst@google.com>
11774         Implement module assertions for users
11776         Add a new command-line option '-module-assertions' that users can
11777         enable developing or debugging a module.  If this option is present,
11778         Emacs performs additional checks to verify that modules fulfill their
11779         requirements.  These checks are expensive and crash Emacs if modules
11780         are invalid, so disable them by default.
11782         This is a command-line option instead of an ordinary variable because
11783         changing it while Emacs is running would cause data structure
11784         imbalances.
11786         * src/emacs.c (main): New command line option '-module-assertions'.
11788         * src/emacs-module.c (module_assert_main_thread)
11789         (module_assert_runtime, module_assert_env, module_assert_value):
11790         New functions to assert module requirements.
11791         (syms_of_module): New uninterned variable 'module-runtimes'.
11792         (init_module_assertions, in_main_thread, module_abort): New helper
11793         functions.
11794         (initialize_environment): Initialize value list.  If assertions are
11795         enabled, use a heap-allocated environment object.
11796         (finalize_environment): Add assertion that environment list is never
11797         empty.
11798         (finalize_runtime_unwind): Pop module runtime object stack.
11799         (value_to_lisp): Assert that the value is valid.
11800         (lisp_to_value): Record new value if assertions are enabled.
11801         (mark_modules): Mark allocated object list.
11802         (MODULE_FUNCTION_BEGIN_NO_CATCH)
11803         (module_non_local_exit_check, module_non_local_exit_clear)
11804         (module_non_local_exit_get, module_non_local_exit_signal)
11805         (module_non_local_exit_throw): Assert thread and environment.
11806         (module_get_environment): Assert thread and runtime.
11807         (module_make_function, module_funcall, module_intern)
11808         (module_funcall, module_make_integer, module_make_float)
11809         (module_make_string, module_make_user_ptr, module_vec_get)
11810         (funcall_module, Fmodule_load): Adapt callers.
11811         (module_make_global_ref): If assertions are enabled, use the global
11812         environment to store global values.
11813         (module_free_global_ref): Remove value from global value list.
11815         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
11816         modules.
11818         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
11819         (Fmod_test_invalid_load): New functions to test module assertions.
11820         (emacs_module_init): Bind the new functions.
11822         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
11823         the Emacs binary file.
11824         (mod-test-file): New constant for the test module file name.
11825         (module--test-assertions): New unit test.
11827 2017-06-12  Philipp Stephani  <phst@google.com>
11829         emacs-module: Use __attribute__((nonnull))
11831         Annotate all parameters with __attribute__((nonnull)) that may not be
11832         NULL.
11834 2017-06-12  Philipp Stephani  <phst@google.com>
11836         Explicitly require C11 or C++11 in emacs-module.h
11838         We already implicitly require them by including stdbool.h.  Just make
11839         the error message a bit clearer, and remove an unnecessary version
11840         comparison.
11842 2017-06-12  Philipp Stephani  <phst@google.com>
11844         Add missing 'require' forms to prevent compiler warnings.
11846         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
11847         requirements.
11849 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11851         Merge from gnulib
11853         This incorporates:
11854         2017-06-11 getopt-posix: port to glibc 2.25.90
11855         2017-06-04 same-inode: port better to VMS 8.2 and later
11856         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
11857         * m4/sys_types_h.m4: Copy from gnulib.
11859 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11861         Remove Lisp_Misc_Float
11863         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
11864         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
11865         unused for two decades; if we ever want to change floats to be a
11866         misc type we can bring it back then.
11868 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11870         Make two symbols private to emacs-module.c
11872         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
11873         Move from here ...
11874         * src/emacs-module.c: ... to here.
11876 2017-06-12  Glenn Morris  <rgm@gnu.org>
11878         Merge from origin/emacs-25
11880         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
11882 2017-06-12  Glenn Morris  <rgm@gnu.org>
11884         Merge from origin/emacs-25
11886         e80f6a210b0 Describe problems with Microsoft Intellipoint
11887         a73ec1edb07 More accurate documentation of the ':box' face attribute
11889 2017-06-12  Glenn Morris  <rgm@gnu.org>
11891         Merge from origin/emacs-25
11893         eaa00584ceb Improve documentation of 'gnutls-verify-error'
11894         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
11895         741daec617e ; Describe the problem with ksh when resizing shell window
11897 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
11899         Some further improvements for tramp-gvfs.el
11901         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
11902         (tramp-gvfs-get-file-attributes)
11903         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
11904         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
11905         Show question also in batch mode.  Cache result.
11907         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
11908         Support completion for host names and ports.
11910 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
11912         Fix highlighting of CSS selectors with double hyphens
11914         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
11915         highlighting of selectors that contain double hyphens.  They would be
11916         mistaken for a variable.
11918 2017-06-11  Philipp Stephani  <phst@google.com>
11920         Support threads in modules
11922         Rather than checking for the main thread, check for the current
11923         thread.
11925         * src/emacs-module.c (check_thread): New function.
11926         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
11927         (module_non_local_exit_check, module_non_local_exit_clear)
11928         (module_non_local_exit_get, module_non_local_exit_signal)
11929         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
11931 2017-06-11  Philipp Stephani  <phst@google.com>
11933         Allow non-local exits in module initializers
11935         Previously signals, throws, and quits from module initialization
11936         functions were ignored.  These function aren't special, and better
11937         errors can be reported using signals than with the initialization
11938         return code, so allow non-local exits.
11940         * src/emacs-module.c (module_signal_or_throw): New helper function.
11941         (Fmodule_load, funcall_module): Use it.
11942         (Fmodule_load): Also allow quitting.
11944 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
11946         Let eshell/sudo handle absolute command names (Bug#27167)
11948         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
11949         absolute paths into relative ones.
11951 2017-06-10  Alan Third  <alan@idiocy.org>
11953         Don't wait for toolbar in NS native fullscreen
11955         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
11956         function when in fullscreen.
11958 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
11960         Fix the placement of GTK menus on multi-monitor systems
11962         menu_position_func did not properly use the current monitor's
11963         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
11965         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
11966         (frame-monitor-workarea): New functions.
11968         * src/xmenu.c (menu_position_func): Take into account the workarea of
11969         the monitor that contains the mouse.  (Bug#23568)
11971 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11973         Clarify documentation of 'face-spec-set'
11975         * lisp/faces.el (face-spec-set): Clarify the description of
11976         SPEC-TYPE in the doc string.
11978         * doc/lispref/display.texi (Defining Faces): Clarify the
11979         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
11981 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
11983         Fix domain port and handling in tramp-gvfs.el
11985         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
11986         Return nil if BYTE-ARRAY is nil.
11987         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
11988         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
11989         Fix domain and port handling.
11991         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
11992         Ignore errors.
11994 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
11996         Improve documentation of 'face-spec-set-2'
11998         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
11999         to 'face-attrs'.
12000         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
12002 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
12004         Fix handling of Python/Guile commands with arguments in gdb-mi.el
12006         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
12007         variable.
12008         (gdb-control-commands-regexp): Use it.
12009         (gdb-send): Don't increment gdb-control-level if the command
12010         matches gdb-python-guile-commands-regexp and has non-empty
12011         arguments.  Reported by David Boles <boles@ieee.org> in
12012         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
12014 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
12016         Preserve point in Dired windows under 'dired-auto-revert-buffer'
12018         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
12019         is non-nil, bind switch-to-buffer-preserve-window-point to nil
12020         while calling find-file.  (Bug#27243)
12022 2017-06-09  Philipp Stephani  <phst@google.com>
12024         Give test files a -tests.el suffix
12026         Rename a couple of test files that have the same name as the library
12027         they test.  This harmonizes the naming pattern and makes it possible
12028         to have the tests directories in the load path.
12030 2017-06-09  Philipp Stephani  <phst@google.com>
12032         Fix another compiler warning on macOS
12034         * src/image.c (x_query_frame_background_color): Don't define if we
12035         have NextStep but no image support.
12037 2017-06-09  Philipp Stephani  <phst@google.com>
12039         Add garbage collection support for module environments
12041         * src/emacs-module.c (mark_modules): New function.
12042         (initialize_environment): Properly initialize Lisp objects.
12043         * src/alloc.c (garbage_collect_1): Call it.
12045 2017-06-08  Glenn Morris  <rgm@gnu.org>
12047         Make autogen.sh report relevant environment variables
12049         * autogen.sh (check_version):
12050         Indicate if using an environment variable.
12052 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
12054         Split variable macro env from function env
12056         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
12057         (cl-symbol-macrolet): Instead of adding each binding directly into the
12058         main environment with a special key format, put all symbol macro
12059         bindings into a single entry in the main environment under
12060         `:cl-symbol-macros'.
12061         (cl--sm-macroexpand): Look up symbol bindings in the
12062         `:cl-symbol-macros' entry of the environment.
12064 2017-06-07  Glenn Morris  <rgm@gnu.org>
12066         * make-dist: Directory modules/mod-test no longer exists.
12068 2017-06-07  Glenn Morris  <rgm@gnu.org>
12070         More authors.el updates
12072         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
12073         (authors-renamed-files-alist): Additions.
12075 2017-06-07  Glenn Morris  <rgm@gnu.org>
12077         * make-dist: Check a release has a ChangeLog with a release notice.
12079         * make-dist: Use existing ChangeLog if present.
12081 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
12083         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
12085 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
12087         (url-cookie-host-can-set-p): Protect against zero-length domains
12089         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
12090         against zero-length domains.
12092         Backtrace of a real-world site that triggers a bug:
12094         Debugger entered--Lisp error: (args-out-of-range "" 0)
12095           url-cookie-host-can-set-p("www.washingtonpost.com" "")
12096           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
12097           01-January-1970 00:00:00 GMT; path=/; domain=")
12098           url-http-handle-cookies()
12100 2017-06-06  Glenn Morris  <rgm@gnu.org>
12102         More authors.el updates
12104         * admin/authors.el (authors-obsolete-files-regexps)
12105         (authors-valid-file-names, authors-renamed-files-alist)
12106         (authors-renamed-files-regexps): Additions.
12108 2017-06-06  Glenn Morris  <rgm@gnu.org>
12110         More small authors.el updates
12112         * admin/authors.el (authors-aliases): Fix recent addition.
12113         (authors-obsolete-files-regexps, authors-no-scan-regexps)
12114         (authors-ignored-files, authors-valid-file-names)
12115         (authors-renamed-files-alist): Additions.
12117 2017-06-06  Glenn Morris  <rgm@gnu.org>
12119         Make authors.el report names that were ignored
12121         * admin/authors.el (authors-ignored-names): New.
12122         (authors-canonical-author-name): Add file and position arguments.
12123         Record ignored authors.
12124         (authors-scan-change-log, authors-scan-el):
12125         Pass file and position to authors-canonical-author-name.
12126         (authors): Also print authors that were ignored.
12128 2017-06-06  Glenn Morris  <rgm@gnu.org>
12130         * admin/authors.el (authors-aliases): Additions.
12132 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
12134         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
12136 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
12138         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
12140 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
12142         Enable ElDoc messages after the newline command
12144         * lisp/emacs-lisp/eldoc.el:
12145         Add "newline" to the eldoc-add-command-completions call (bug#27228).
12147 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
12149         Enable eldoc-mode explicitly inside read--expression
12151         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
12153 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
12155         Fix check for package-unsigned-archives during retrieval
12157         * lisp/emacs-lisp/package.el (package--download-one-archive):
12158         Fix check for package-unsigned-archives.
12160 2017-06-05  Noah Friedman  <friedman@splode.com>
12162         Merge etc/emacs-buffer.gdb from emacs-25 to master.
12164 2017-06-05  Philipp Stephani  <phst@google.com>
12166         Fix undefined behavior in mapbacktrace
12168         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
12170 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
12172         Fix emacs-module-tests on MS-Windows
12174         * src/print.c (print_vectorlike): Make sure module function's
12175         address prints with a leading "0x".  This fixes emacs-module-tests
12176         on MS-Windows.  Fix whitespace.
12177         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
12178         commentary.
12180 2017-06-05  Philipp Stephani  <phst@google.com>
12182         Use unwind protection to clean up data structures in modules
12184         Reuse existing functionality and simplify the code a bit.
12186         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
12187         runtime object.
12188         (funcall_module): Use unwind protection to clean up environment
12189         object.
12190         (finalize_environment): Simplify signature.
12191         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
12193 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
12195         Some minor tweaks in tramp-tests.el
12197         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
12198         Let it pass for all gfvs based methods.
12199         (tramp-test24-file-name-completion): Run method and host
12200         completion for all syntaxes only when expensive tests are enabled.
12201         Do not check host completion for gvfs based methods.
12202         (tramp--test-gvfs-p): Add optional METHOD argument.
12203         (tramp--test-afp-or-smb-p): Remove.
12205 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
12207         Fix error in Tramp rsync method
12209         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
12210         Otherwise, `tramp-test10-write-region' could fail.
12212 2017-06-05  Philipp Stephani  <phst@google.com>
12214         Inline module_has_cleanup
12216         This constant is only used once, and we fail compilation anyway if
12217         it's false.
12219         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
12221 2017-06-05  Philipp Stephani  <phst@google.com>
12223         Add missing dependency to test module source file
12225 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12227         Omit space that broke ‘make check’
12229         * src/print.c (print_vectorlike): Omit stray space.
12231 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12233         Remove easserts etc. from emacs-module.c
12235         Most of these seem to run afoul of the comment "Do NOT use
12236         'eassert' for checking validity of user code in the module."
12237         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
12238         (module_non_local_exit_check, module_non_local_exit_clear)
12239         (module_non_local_exit_get, module_non_local_exit_signal)
12240         (module_non_local_exit_throw, module_make_string):
12241         Remove unnecessary easserts that pointers are nonnull.
12242         Hardware checks this for us nowadays, and the checks
12243         just clutter up the code.
12244         (module_extract_integer): Remove unnecessary verify that
12245         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
12246         The C standard guarantees this.
12247         (module_copy_string_contents): Remove unnecessary eassert
12248         that Lisp strings are null-terminated.
12249         (module_function_arity): Remove unnecessary easserts that
12250         function arities are in range.
12252 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12254         Remove unnecessary checking in emacs-module.c
12256         * src/emacs-module.c (module_copy_string_contents):
12257         Remove checking, as string lengths are always nonnegative and less
12258         than STRING_BYTES_BOUND, and this is checked elsewhere.
12259         (module_make_string): Check length against STRING_BYTES_BOUND, a
12260         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
12261         assume that an out-of-range integer is nonnegative.
12263 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12265         SCHARS and STRING_BYTES are nonnegative
12267         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
12268         the hopes that this will optimize a bit better.  Also, check this
12269         at runtime if ENABLE_CHECKING.
12270         * src/lisp.h (SCHARS, STRING_BYTES):
12271         eassume that these functions return nonnegative values.
12272         (STRING_SET_CHARS) [ENABLE_CHECKING]:
12273         eassert that newsize is nonnegative.
12275 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
12277         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
12279 2017-06-04  Philipp Stephani  <phst@google.com>
12281         Remove an unused error symbol
12283         * src/emacs-module.c (syms_of_module): Remove unused error symbol
12284         'invalid-module-call'.
12286 2017-06-04  Philipp Stephani  <phst@google.com>
12288         Support quitting in modules
12290         The idea is that modules should call env->should_quit from time to
12291         time and return as quickly as possible if it returns true.
12293         * src/emacs-module.c (module_should_quit): New module function.
12294         (initialize_environment): Use it.
12295         (funcall_module): Process potential pending quit.
12297         * src/eval.c (maybe_quit): Add reference to module_should_quit.
12299 2017-06-04  Philipp Stephani  <phst@google.com>
12301         Use more specific errors for module load failure
12303         * src/emacs-module.c (syms_of_module): Add more specific error
12304         symbols.
12305         (Fmodule_load): Use them.
12307 2017-06-04  Philipp Stephani  <phst@google.com>
12309         Remove an unneeded assertion
12311         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
12312         assertion.  If this assertion triggers, we raise an error anyway.
12314 2017-06-04  Philipp Stephani  <phst@google.com>
12316         Guard against signed integer overflows
12318         * src/emacs-module.c (module_extract_integer)
12319         (module_copy_string_contents, module_make_string): Guard against
12320         signed integer overflows.
12322 2017-06-04  Philipp Stephani  <phst@google.com>
12324         Add a couple more assertions to the module code
12326         These can help module authors debug crashes.
12328         * src/emacs-module.c (module_non_local_exit_check)
12329         (module_non_local_exit_clear, module_non_local_exit_get)
12330         (module_non_local_exit_signal, module_non_local_exit_throw)
12331         (module_copy_string_contents, module_make_string)
12332         (funcall_module, initialize_environment): Add assertions
12334 2017-06-04  Philipp Stephani  <phst@google.com>
12336         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
12338         In particular, alias violations are likely for the return values of
12339         dlsym(3), which get cast around arbitrarily.
12341         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
12343 2017-06-04  Philipp Stephani  <phst@google.com>
12345         Simplify interface of dynlib_attr.
12347         Instead of returning bool, set the argument pointers to NULL if the
12348         information is not available.
12350         * src/dynlib.c (dynlib_addr): Don't return bool.
12352 2017-06-04  Philipp Stephani  <phst@google.com>
12354         Rationalize environment lifetime management functions
12356         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
12357         (finalize_environment): Add parameter for public part of the
12358         environment, like 'initialize_environment'.  Add assertions.
12360 2017-06-04  Philipp Stephani  <phst@google.com>
12362         Rework printing of module functions
12364         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
12365         other types.
12367         * src/print.c (print_vectorlike): Add code to print module functions.
12369         * src/emacs-module.c (funcall_module): Stop calling
12370         'module_format_fun_env'.  Now that module functions are first-class
12371         objects, they can be added to signal data directly.
12372         (module_handle_signal): Remove now-unused function
12373         'module_format_fun_env'.
12375         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
12377         * src/eval.c (funcall_lambda): Adapt call to changed signature of
12378         'funcall_module'.
12380 2017-06-04  Philipp Stephani  <phst@google.com>
12382         Define helper macro to reduce code duplication
12384         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
12385         macro.
12386         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
12387         Use it.
12389 2017-06-04  Philipp Stephani  <phst@google.com>
12391         Remove two FIXMEs that can't be fixed
12393 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
12395         Avoid slow startup in daemon mode when global-linum-mode is on
12397         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
12398         non-client frame of a daemon session.  (Bug#27210)
12400 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
12402         Fix eldoc bug with curved quote
12404         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
12405         Substitute quotes in documentation before returning it (Bug#27159).
12407 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
12409         Tune ‘format’ after recent fix
12411         * doc/lispref/strings.texi (Formatting Strings):
12412         * src/editfns.c (Fformat): Format field numbers no longer need
12413         to be unique, reverting the previous doc change since that has
12414         now been fixed.  Also, document that %% should not have modifiers.
12415         * src/editfns.c (styled_format): Improve performance.  Remove
12416         the need for the new prepass over the format string, by using
12417         a typically-more-generous bound for the info array size.
12418         Initialize the info array lazily.  Move string inspection to
12419         the same area to help caching.  Avoid the need for a
12420         converted_to_string bitfield by using EQ.  Cache arg in a
12421         local and avoid some potential aliasing issues to help the
12422         compiler.  Info array is now 0-origin, not 1-origin.
12424 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
12426         Improve of file-local-name use in vc-git-checkin
12428         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
12429         when calling git commit.
12431 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
12433         Support a new CSS indentation style
12435         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
12436         immediately followed by a newline.
12438         * test/manual/indent/css-mode.css: Add test for the change above.
12440         * test/manual/indent/scss-mode.scss: Ditto.
12442 2017-06-03  Philipp Stephani  <phst@google.com>
12444         Fix a bug when using format field numbers
12446         Previously styled_format overwrite the argument vector.  This is no
12447         longer possible because there might be more than one specification per
12448         argument.  Use the existing auxiliary info array instead.
12450         * src/editfns.c (styled_format): Record arguments in the info
12451         structure instead of overwriting them.
12452         * test/src/editfns-tests.el (format-with-field): Add unit test.
12454 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
12456         Document uniqueness limitation of ‘format’
12458         * doc/lispref/strings.texi (Formatting Strings):
12459         * src/editfns.c (Fformat):
12460         Document that field numbers should be unique within a format.
12462 2017-06-03  Glenn Morris  <rgm@gnu.org>
12464         Small rmailmm fix (bug#27203)
12466         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
12467         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
12469 2017-06-03  Glenn Morris  <rgm@gnu.org>
12471         * admin/authors.el (authors-aliases): Addition.
12473 2017-06-03  Glenn Morris  <rgm@gnu.org>
12475         Add watch for password back to inferior python comint filter
12477         It was removed along with other items for speed (bug#16875),
12478         but doesn't seem to have been causing an issue, and it's useful to
12479         have it there (bug#27154).
12480         * lisp/progmodes/python.el (inferior-python-mode):
12481         Add comint-watch-for-password-prompt to comint-output-filter-functions.
12483 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
12485         Use completing-read-default in tmm-prompt
12487         tmm uses completing-read, but customizes its behavior so much
12488         that any alternative completing-read-function will almost
12489         certainly break it.  For example, both ido-ubiquitous and ivy have
12490         special code to deactivate themselves for tmm.
12491         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
12492         completing-read.  (Bug#27193)
12494 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
12496         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
12498 2017-06-02  Glenn Morris  <rgm@gnu.org>
12500         Fix with-todo-test
12502         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
12503         HOME should be a directory, not a file.  Delete it when finished.
12505 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
12507         Update TUTORIAL.it
12509         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
12511 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
12513         Fix cursor position in Dired buffers after dired-sort-toggle
12515         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
12516         even if the frame is marked as garbaged.  (Bug#27187)
12518 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
12520         Update TUTORIAL.he
12522         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
12524 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
12526         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
12528 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12530         Limit format fields to more POSIX-like spec
12532         * doc/lispref/strings.texi (Formatting Strings):
12533         Don’t allow mixing numbered with unnumbered format specs.
12534         * src/editfns.c (styled_format): Don’t bother checking for field 0,
12535         since it doesn’t crash and the behavior is not specified.
12536         * test/src/editfns-tests.el (format-with-field): Adjust tests to
12537         match current doc.  Add more tests for out-of-range fields.
12539 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12541         Improve performance by avoiding strtoumax
12543         This made (string-to-number "10") 20% faster on my old desktop,
12544         an AMD Phenom II X4 910e running Fedora 25 x86-64.
12545         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
12546         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12547         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
12548         * m4/strtoumax.m4: Remove.
12549         * src/editfns.c (str2num): New function.
12550         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
12551         instead of uintmax_t.  Check for integer overflow.
12552         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
12553         Move to private scope and make them enums.
12554         (string_to_number): Compute integer value directly during
12555         first pass instead of revisiting it with strtoumax later.
12557 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12559         Minor improvements to format field numbers
12561         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
12562         No need for a special diagnostic for field numbers greater than
12563         PTRDIFF_MAX.  Reword diagnostic for field 0.
12564         * test/src/editfns-tests.el (format-with-field): Adjust to match.
12566 2017-06-02  Philipp Stephani  <phst@google.com>
12568         Implement field numbers in format strings
12570         A field number explicitly specifies the argument to be formatted.
12571         This is especially important for potential localization work, since
12572         grammars of various languages dictate different word orders.
12574         * src/editfns.c (Fformat): Update documentation.
12575         (styled_format): Implement field numbers.
12577         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
12579         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
12581         * test/src/editfns-tests.el (format-with-field): New unit test.
12583 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
12585         Limit scope of local overriding-terminal-local-map
12587         The function `binding' may call isearch-done, which globally sets
12588         overriding-terminal-local-map to nil (Bug#23007).
12589         * lisp/isearch.el (isearch-mouse-2): Don't bind
12590         overriding-terminal-local-map around the call to `binding'.
12592 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
12594         Correct and isolate the todo-mode test environment
12596         This avoids having to set todo-mode variables globally in the test
12597         file and prevents any exisiting user todo-mode files from influencing
12598         the tests.
12600         * test/lisp/calendar/todo-mode-tests.el:
12601         (with-todo-test): New macro.
12602         (todo-test-todo-quit01, todo-test-todo-quit02)
12603         (todo-test-item-highlighting): Use it.
12605 2017-06-01  Alan Third  <alan@idiocy.org>
12607         Fix build errors on macOS 10.6 (bug#27059)
12609         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
12611 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12613         Improve testing of octal and hex display of raw bytes
12615         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12616         (test-redisplay-5): Add a test with a large codepoint.
12618 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
12620         Add customizable to display raw bytes as hex
12622         * src/xdisp.c (get_next_display_element): Dispatch used format string
12623         for unprintables based on new display-raw-bytes-as-hex variable.
12624         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
12626         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12628         * doc/emacs/display.texi: Document the new variable.
12629         * etc/NEWS: Mention display-raw-bytes-as-hex.
12631         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12632         (test-redisplay-5): New tests.
12633         (test-redisplay): Call test-redisplay-5.
12635 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12637         Revert "Add customizable to display raw bytes as hex"
12639         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
12641 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12643         Add customizable to display raw bytes as hex
12645         * src/xdisp.c (get_next_display_element): Dispatch used format string
12646         for unprintables based on new display-raw-bytes-as-hex variable.
12647         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
12649         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12651         * doc/emacs/display.texi: Document the new variable.
12652         * etc/NEWS: Mention display-raw-bytes-as-hex.
12654         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12655         (test-redisplay-5): New tests.
12656         (test-redisplay): Call test-redisplay-5.
12658 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
12660         Fix linum under text-scaling when leuven-theme is used
12662         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
12663         inherit from 'default' and 'shadow', so that margins are enlarged
12664         as expected under text-scaling.
12666 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12668         Free cwd when no longer needed
12670         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
12672 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
12674         Fix memory leak of cwd string in emacsclient (Bug#26628)
12676         * lib-src/emacsclient.c (main): emacsclient retrieves the current
12677         working directory using get_current_dir_name which returns a newly
12678         allocated string.  Make sure this string is freed before exiting.
12680 2017-06-01  Glenn Morris  <rgm@gnu.org>
12682         Quieten compilation of some test files
12684         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
12685         * test/src/data-tests.el (binding-test-set-constant-t)
12686         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
12687         (binding-test-set-constant-nil): Silence compiler.
12688         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
12690 2017-06-01  Glenn Morris  <rgm@gnu.org>
12692         Use true names for invocation- and source-directory
12694         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
12695         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
12697 2017-06-01  Glenn Morris  <rgm@gnu.org>
12699         Avoid elisp-mode test failures when source dir has multiple names
12701         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
12702         Use the true name of the directory.
12704 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12706         Fix bug with "%%" in error format
12708         * src/doprnt.c (doprnt): Format "%%" correctly.
12709         Problem reported by Philipp Stephani in:
12710         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
12712 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12714         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
12716 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
12718         Revert mml-generate-mime-1 (bug#27141)
12720         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
12721         with slight modernizations (bug#27141).
12723 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
12725         Fix Bug#27108
12727         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
12728         in order to avoid Tramp password requests during Emacs
12729         startup.  (Bug#27108)
12731 2017-05-31  Glenn Morris  <rgm@gnu.org>
12733         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
12735 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12737         Document current-line hscrolling in ELisp manual
12739         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
12740         new mode of auto-hscrolling only the current line.
12742 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12744         Support lower bound on hscrolling when only current line scrolls
12746         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
12747         mode of auto-hscrolling only the current line.
12749         * src/xdisp.c (init_iterator): When hscrolling only the
12750         current line, apply the window's min_hscroll here, so that
12751         non-current lines will be hscrolled by that minimum.
12752         Suggested by Stephen Berman <stephen.berman@gmx.net>.
12753         (hscroll_window_tree): Account for window's min_hscroll when
12754         deciding whether to recompute the hscroll.
12755         (display_line): Subtract window's min_hscroll from x_incr, as that
12756         was already accounted for in init_iterator.  (Bug#27008)
12758 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
12760         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
12762         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
12763         (cl-print-object): When `print-circle' is nil, bind it to a list of
12764         objects that are currently printing to avoid printing the same object
12765         endlessly.
12766         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
12768 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
12770         Further simplify test/Makefile, optionally load elc tests
12772         * test/Makefile.in: Use make's error ignoring feature instead of
12773         suppressing test errors with shell.  Compile test files in the main
12774         make invocation instead of a recursive 'make' call.  Optionally load
12775         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
12776         Remove obsolete commentary.
12778 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
12780         Avoid inflooping in redisplay due to Spacemacs and linum-mode
12782         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
12783         retries when a frame becomes garbaged as result of redisplaying
12784         it.  (Bug#27115)
12786 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
12788         * src/editfns.c (decode-time): Fix docstring.
12790 2017-05-31  Glenn Morris  <rgm@gnu.org>
12792         * admin/update_autogen: Remove bzr support.
12794 2017-05-31  Glenn Morris  <rgm@gnu.org>
12796         Avoid subr test failure when source dir has multiple names
12798         * test/lisp/subr-tests.el (subr-tests--this-file):
12799         Use the true name of the file.  The following test does a string
12800         comparison of this value with that from method-files, which uses
12801         load-history, which contains true names.
12803 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
12805         Extract eldoc--supported-p
12807         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
12808         (turn-on-eldoc-mode, eldoc-mode): Use it.
12809         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
12811 2017-05-30  Glenn Morris  <rgm@gnu.org>
12813         Make "make check" less verbose by default
12815         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
12816         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
12817         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
12818         New, copied from lisp/Makefile.in.
12819         (%.elc, %.log): Simplify and quieten.
12821 2017-05-30  Alan Mackenzie  <acm@muc.de>
12823         Mode line "%q" construct: Just use one number when both would be the same.
12825         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
12827 2017-05-30  Alan Mackenzie  <acm@muc.de>
12829         Merge branch 'master' of /home/acm/emacs/emacs.git/master
12831 2017-05-30  Alan Mackenzie  <acm@muc.de>
12833         c-defun-name: Return fully qualified method names when wanted in C++, etc.
12835         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
12836         c-back-over-compound-identifier in place of c-backward-token-2 near the end
12837         of the function.
12839 2017-05-30  Glenn Morris  <rgm@gnu.org>
12841         Reduce scope of recent test/Makefile HOME change
12843         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
12845 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12847         Skip .#* temporaries when finding sources
12849         Without this patch, ‘make check’ can fail with the diagnostic
12850         ‘invalid syntax in conditional’ if there is an Emacs temporary
12851         file whose name starts with ‘.#’, because the ‘#’ is treated as
12852         the start of a Make comment.
12853         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
12854         * test/Makefile.in (ELFILES):
12855         Skip files starting with ‘.’, so that the .#* files do not cause
12856         trouble.  (We cannot easily skip just files starting with ‘.#’,
12857         since ‘#’ starts a Make comment!)
12859 2017-05-30  Alan Mackenzie  <acm@muc.de>
12861         Merge branch 'master' of /home/acm/emacs/emacs.git/master
12863 2017-05-30  Alan Mackenzie  <acm@muc.de>
12865         Fix the mouse help/key map on the "%p" part of the mode line.
12867         * lisp/bindings.el (mode-line-percent-position): give it a
12868         `risky-local-variable' property.
12869         (mode-line-position): correct the quoting on the mode-line-percent-position
12870         part of the variable, allowing the properties to be properly recognized.
12872 2017-05-30  Alan Mackenzie  <acm@muc.de>
12874         Fix the mouse help/key map on the "%p" part of the mode line.
12876         * lisp/bindings.el (mode-line-percent-position): give it a
12877         `risky-local-variable' property.
12878         (mode-line-position): correct the quoting on the mode-line-percent-position
12879         part of the variable, allowing the properties to be properly recognized.
12881 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12883         Merge from gnulib
12885         * build-aux/config.guess: Copy from gnulib.
12886         * lib/gnulib.mk.in: Regenerate.
12888 2017-05-30  Glenn Morris  <rgm@gnu.org>
12890         Stop make check interacting with HOME
12892         * test/Makefile.in (HOME): Export a non-existent value.
12894 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12896         Update .gitattributes to match sources better
12898         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
12899         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
12900         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
12901         Add config.guess and config.sub as shell files.
12903 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
12905         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
12907         * doc/emacs/cmdargs.texi (Initial Options):
12908         * doc/lispref/os.texi (Startup Summary):
12909         * etc/NEWS:
12910         * etc/emacs.service:
12911         * src/emacs.c (main):
12912         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
12913         '--bg-daemon'.
12915 2017-05-30  Glenn Morris  <rgm@gnu.org>
12917         todo-mode: don't assume an ordering of tests
12919         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
12920         (todo-test-item-highlighting): Avoid prompting for input file.
12922 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12924         Improve .gdbinit Lisp value pretty-printing
12926         * src/.gdbinit (to_string): Use an unsigned representation for
12927         Lisp values, as requested by Eli Zaretskii (Bug#27098).
12928         Also, use "make_number(N)" for Lisp integers.
12930 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
12932         Turn global-eldoc-mode into a globalized minor mode
12934         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
12935         Turn into globalized mode (bug#19853).
12936         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
12937         (eldoc-mode): Only show the message when called interactively.
12939 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
12941         Use regexp matching instead of checking exit status
12943         * lisp/progmodes/xref.el (xref-collect-matches):
12944         See if the output buffer contents look like Grep output
12945         instead of checking exit status (bug#23451).
12947 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
12949         Add initial tests for todo-mode.el
12951         *test/lisp/calendar/todo-mode-tests.el:
12952         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
12953         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
12955         * .gitattributes: Ignore trailing whitespace in todo-mode test
12956         data files, since it is part of the todo-mode file format.
12958 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
12960         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
12962         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
12963         replacing an anonymous function for the sake of `describe-variable'.
12964         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
12965         and remove boundp test of this variable, so its value is available on
12966         invoking `todo-toggle-item-highlighting'.
12968 2017-05-29  Alan Third  <alan@idiocy.org>
12970         Fix build error on macOS 10.6
12972         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
12973         CGPoint.
12975 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
12977         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
12979         * lisp/progmodes/python.el (python-indent--calculate-indentation):
12980         Increase indent by `python-indent-offset' after
12981         `:after-backslash-assignment-continuation'.
12983 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
12985         Add suggestion to docstring
12987         * lisp/subr.el (interactive-p): Mention commandp, as this is often
12988           what users are actually looking for.
12990 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
12992         Ensure button-get works in any buffer
12994         * lisp/button.el (button-get): Previously we assumed that button-get
12995           was called in the buffer containing the button.  In other buffers,
12996           button-get always returned nil.  Fix this by passing the relevant
12997           buffer from the marker.
12999 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
13001         Signal error if find-grep returns a nonzero status
13003         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
13004         if find-grep returns a nonzero status (bug#23451).  Remove the
13005         comment: even if some output is present, a non-zero status
13006         means something went wrong and it can't be relied upon.
13008 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
13010         Make sure exiting todo-mode buffer buries it (bug#27121)
13012         This failed due to commit ea3ae33b from 2013-05-16, which prevented
13013         quitting todo-mode buffer after visiting todo-archive buffer from
13014         making the archive buffer current again.  Avoid this now by simply
13015         killing the archive buffer, since there's no need to keep it a live
13016         buffer.  Consequently, quitting a todo-mode buffer can now use
13017         bury-buffer without an argument, which ensures that is will not
13018         becomes current on quitting the buffer that replaced it in the window.
13020         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
13021         buffer instead of burying it.  This now allows exiting the
13022         todo-mode buffer by bury-buffer without an argument, so do that.
13024 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
13026         Some tweaks, almost all for Tramp adb method
13028         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
13029         Use `make-tramp-file-name'.
13030         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
13031         (tramp-adb-maybe-open-connection): Set "prompt" property.
13032         (tramp-adb-wait-for-output): Use it.
13034         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
13035         (tramp-dump-connection-properties): Check also that there are
13036         properties to be saved.  Don't save "started" property of
13037         "ftp" method.
13039         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
13040         Use `make-tramp-file-name'.
13042         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
13043         Host could be empty.
13044         (tramp-file-name-port-or-default): New defun.
13045         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
13046         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
13047         (tramp-call-process, tramp-call-process-region):
13048         Use `make-tramp-file-name'.
13050         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
13051         Revert change from 2017-05-24.
13052         (tramp-test05-expand-file-name-relative): Let it also pass for
13053         "adb" method.
13055 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
13057         Fix Tramp for Android 7
13059         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
13060         Username part of prompt is empty on Android 7.
13061         (tramp-adb-ls-toolbox-regexp):
13062         Ignore addition links column on Android 7.
13063         (tramp-adb-get-ls-command):
13064         Dont use --color=none when using toybox (Android 7).  It's not
13065         possible to disable coloring explicitly for toybox ls.
13067 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
13069         Fix cl-indent for `loop' with :keywords (Bug#15543)
13071         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
13072         ":keywords".
13074 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13076         Depromiscuify inotify with IN_MASK_ADD
13078         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
13079         mask.  This simplifies the code and restores the ability to
13080         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
13081         in some cases (Bug#26973).
13082         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
13083         (Finotify_add_watch): Use IN_MASK_ADD instead.
13085 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13087         Restore inotify onlydir support
13089         There was no need to remove it in the 2017-03-26 inotify change,
13090         as it is like IN_DONT_FOLLOW and does not affect other watchers
13091         for the same file.
13092         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
13093         (syms_of_inotify): Bring back onlydir.
13095 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13097         Simplify computation of inotify mask
13099         * src/inotify.c (add_watch): Accept uint32_t imask instead
13100         of Lisp_Object aspect.  Caller changed.
13101         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
13102         simplify the code.
13104 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
13106         Improve the documentation of filesets
13108         * doc/emacs/files.texi (Filesets): Fix the description of
13109         fileset-init's effect on the menu bar.  (Bug#27015)
13111 2017-05-27  Philipp Stephani  <phst@google.com>
13113         Don't attempt to recover from undefined behavior in some cases
13115         These functions can only be run in batch mode and exit Emacs on
13116         return, so nothing can be recovered.  Disable unsafe recover
13117         mechanisms so that we get real failures and good stack traces on
13118         fatal signals.
13120         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
13121         (batch-byte-recompile-directory):
13122         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
13123         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
13124         from undefined behavior.
13126 2017-05-27  Philipp Stephani  <phst@google.com>
13128         Avoid another compiler warning on macOS
13130         When configured with --without-ns, HAVE_NS is not defined on macOS,
13131         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
13132         by using the pre-defined __APPLE__ preprocessor macro.
13134         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
13136 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
13138         Fix ruler-mode text-scaling issues
13140         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
13141         for computing scaled text width.
13142         (ruler-mode-text-scaled-window-hscroll)
13143         (ruler-mode-text-scaled-window-width): Compute text scaled
13144         `window-width' value.
13145         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
13146         (ruler-mode-ruler): Change `window-hscroll' into
13147         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
13148         into `ruler-mode-text-scaled-window-width'.
13150 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
13152         Minor doc and doc-string fixes (Bug#27091)
13154         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
13156         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
13157         (Display Margins): Mention that `set-window-buffer' may override
13158         settings made by `set-window-fringes', `set-window-scroll-bars'
13159         and `set-window-margins'.
13160         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
13161         `set-window-buffer'.
13163 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
13165         Avoid args-out-of-range errors on fringe clicks after "C-h k"
13167         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
13168         message is already shorter than NCHARS.  (Bug#27040)
13170 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
13172         Fix GUD "Stop" display when running pdb
13174         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
13175         when GUD mode is 'pdb'.  (Bug#27024)
13177 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
13179         Support drag and drop of region by mouse (Bug#26725)
13181         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
13182         and drop region by mouse.
13183         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
13184         when start-event is on region.
13185         (mouse-drag-and-drop-region): New function, moves the region by
13186         (mouse-drag-and-drop-region): New defcustom.
13187         * etc/NEWS: Mention mouse-drag-and-drop-region.
13189 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
13191         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
13193 2017-05-27  Alan Third  <alan@idiocy.org>
13195         Check if instancetype supported in ObjC
13197         * configure.ac: Add check for instancetype.
13198         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
13200 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
13202         Mark keywordp as a safe, error-free function
13204         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
13205           side-effect-and-error-free-fns.
13207 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
13209         * src/inotify.c: Add FIXME comments.
13211 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
13213         Fix Bug#26973
13215         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
13216         and CLOSE events on order do let other processes also reading
13217         from their descriptors.  (Bug#26973).
13219 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
13221         Remove Emacs 23 compat code from Tramp
13223         * doc/misc/tramp.texi (Remote processes): Don't mention
13224         Emacs 24 explicitly.
13225         (Frequently Asked Questions): Remove Emacs 23 from
13226         compatibility list.
13228         * lisp/net/tramp.el:
13229         * lisp/net/tramp-adb.el:
13230         * lisp/net/tramp-cache.el:
13231         * lisp/net/tramp-gvfs.el:
13232         * lisp/net/tramp-sh.el:
13233         * lisp/net/tramp-smb.el: Replace compat function calls.
13235         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
13236         (tramp-compat-condition-case-unless-debug)
13237         (tramp-compat-copy-file, tramp-compat-copy-directory)
13238         (tramp-compat-delete-file, tramp-compat-delete-directory)
13239         (tramp-compat-process-live-p): Remove them.
13241         * lisp/net/trampver.el: Make version check fit for Emacs 24.
13243 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
13245         Work for application/x-tar-gz and image/svg+xml
13247         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
13248         ;; of bug#27078 in the Emacs bug list using Gnus.
13250         * lisp/gnus/mm-archive.el (mm-archive-decoders):
13251         Add a decoder for application/x-tar-gz.
13252         (mm-dissect-archive): Error out if a decoder is not found.
13254         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
13256 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
13258         test-calc-23889: Skip test on 32-bit platforms
13260         This test fails on some 32-bit platforms as mentioned in
13261         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
13262         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
13263         the Lisp integer is not big enough.
13265 2017-05-25  Alan Third  <alan@idiocy.org>
13267         Fix NS tooltips showing in the wrong place (bug#27053)
13269         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
13270         last recorded position.
13272 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13274         lisp/net/soap-client.el: Bump version to 3.1.2
13276         * lisp/net/soap-client.el: Bump version to 3.1.2.
13278 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13280         Fix soap-inspect.el doc strings
13282         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
13283         string.
13284         (soap-inspect-xs-attribute-group): Likewise.
13286 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13288         Fix two soap-client.el byte compilation warnings
13290         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
13291         (soap-fetch-xml-from-url): Remove special declaration of
13292         url-http-response-status.
13293         (soap-invoke-internal): Likewise.
13295 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13297         lisp/net/soap-client.el: Require cl-lib version 0.6.1
13299         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
13301 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13302             Stefan Monnier  <monnier@iro.umontreal.ca>
13304         lisp/net/soap-client.el: Shorten some long lines
13306         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
13307         unnecessary progn.
13308         (soap-xs-add-union): Wrap long line.
13310 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
13311             Stefan Monnier  <monnier@iro.umontreal.ca>
13313         Remove cl dependency in soap-client.el and soap-inspect.el
13315         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
13316         with cl-case, destructuring-bind with cl-destructuring-bind and
13317         loop with cl-loop.
13319         * lisp/net/soap-client.el: Replace cl library with cl-lib,
13320         defstruct with cl-defstruct, assert with cl-assert, case with
13321         cl-case, ecase with cl-ecase, loop with cl-loop and
13322         destructuring-bind with cl-destructuring-bind.
13324 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
13326         Switch Tramp to cl-lib
13328         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
13330         * lisp/net/tramp-ftp.el: Don't require cl.
13332         * lisp/net/tramp-gvfs.el: Don't require cl.
13333         (tramp-gvfs-handler-mounted-unmounted)
13334         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
13336         * lisp/net/tramp-sh.el: Don't require cl.
13337         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
13338         (tramp-sh-gvfs-monitor-dir-process-filter)
13339         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
13341         * lisp/net/tramp-smb.el: Don't require cl.
13342         (tramp-smb-read-file-entry): Use `cl-*' macros.
13344         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
13345         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
13346         (tramp-parse-passwd, tramp-parse-etc-group)
13347         (tramp-parse-putty): Use `cl-*' macros.
13349 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13351         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
13353 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13355         Port ATTRIBUTE_MAY_ALIAS to recent icc
13357         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
13358         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
13359         “warning #2621: attribute "__may_alias__" does not apply here”
13360         for constructs like ‘struct sockaddr *sa = (whatever);
13361         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
13362         = (struct sockaddr_in *) sa;’.
13364 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13366         Merge from gnulib
13368         This incorporates:
13369         2017-05-25 port to recent icc
13370         * lib/intprops.h: Copy from gnulib.
13372 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
13374         Fix Tramp for python.el
13376         * lisp/net/tramp.el (tramp-get-connection-process): Check,
13377         that VEC is a `tramp-file-name' structure.
13379 2017-05-24  Alan Third  <alan@idiocy.org>
13381         Raise version of macOS we define instancetype for (bug#27059)
13383         * src/nsterm.m: Increase supported version number.
13385 2017-05-24  Alan Third  <alan@idiocy.org>
13387         Define new types on macOS 10.6 (bug#27041)
13389         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
13390         correct NSUInteger instead of int.
13392 2017-05-24  Glenn Morris  <rgm@gnu.org>
13394         Don't autoload new dns-mode command
13396         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
13397         Remove autoload cookie.
13399 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13401         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
13403         (sxhash_vector): Make it work on pseudo vectors as well.
13404         (sxhash): Treat records like vectors.
13406 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
13408         Adapt tramp-tests.el according to new defstruct
13410         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
13411         Fix test according to new defstruct.
13412         (tramp-test29-environment-variables-and-port-numbers):
13413         Expect it now as passed.  Cleanup at the end.
13415 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
13417         Introduce a defstruct `tramp-file-name' as central data structure.
13419         This solves also Bug#27009.
13421         * lisp/net/tramp.el (tramp-current-domain)
13422         (tramp-current-port): New defvars.
13423         (tramp-file-name): New defstruct.
13424         (tramp-file-name-user-domain, tramp-file-name-host-port)
13425         (tramp-file-name-equal-p): New defuns.
13426         (tramp-file-name-p, tramp-file-name-method)
13427         (tramp-file-name-user, tramp-file-name-host)
13428         (tramp-file-name-localname, tramp-file-name-hop)
13429         (tramp-file-name-real-user, tramp-file-name-domain)
13430         (tramp-file-name-real-host, tramp-file-name-port):
13431         Remove defuns.  They are provided by the defstruct, or not
13432         needed anymore.
13433         (tramp-dissect-file-name, tramp-buffer-name)
13434         (tramp-make-tramp-file-name, tramp-get-buffer)
13435         (tramp-set-connection-local-variables)
13436         (tramp-debug-buffer-name, tramp-message)
13437         (tramp-error-with-buffer, with-parsed-tramp-file-name)
13438         (tramp-completion-dissect-file-name1)
13439         (tramp-handle-file-name-as-directory)
13440         (tramp-handle-file-name-directory)
13441         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
13442         (tramp-handle-find-backup-file-name)
13443         (tramp-handle-insert-file-contents, tramp-process-actions)
13444         (tramp-check-cached-permissions, tramp-local-host-p)
13445         (tramp-get-remote-tmpdir, tramp-call-process)
13446         (tramp-call-process-region, tramp-read-passwd)
13447         (tramp-clear-passwd):
13448         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
13449         (tramp-adb-handle-expand-file-name)
13450         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
13451         (tramp-adb-handle-process-file)
13452         (tramp-adb-maybe-open-connection):
13453         * lisp/net/tramp-cache.el (tramp-get-hash-table)
13454         (tramp-get-file-property, tramp-set-file-property)
13455         (tramp-flush-file-property, tramp-flush-directory-property)
13456         (tramp-get-connection-property)
13457         (tramp-set-connection-property, tramp-connection-property-p)
13458         (tramp-flush-connection-property, tramp-cache-print)
13459         (tramp-list-connections, tramp-dump-connection-properties)
13460         (tramp-parse-connection-properties):
13461         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
13462         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
13463         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
13464         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
13465         (tramp-gvfs-handler-mounted-unmounted)
13466         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
13467         (tramp-gvfs-get-remote-gid)
13468         (tramp-gvfs-maybe-open-connection):
13469         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
13470         (tramp-do-copy-or-rename-file-out-of-band)
13471         (tramp-sh-handle-expand-file-name)
13472         (tramp-sh-handle-start-file-process)
13473         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
13474         (tramp-maybe-open-connection)
13475         (tramp-make-copy-program-file-name, tramp-get-remote-path)
13476         (tramp-get-inline-coding):
13477         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
13478         (tramp-smb-handle-expand-file-name)
13479         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
13480         (tramp-smb-handle-set-file-acl)
13481         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
13483 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
13485         Fix and improve UI of scroll bar menu (bug#27047)
13487         In addition, since the Emacs manual writes "scroll bar", "tool
13488         bar" and "menu bar", use this convention in the Show/Hide menues
13489         and tooltips as well.
13491         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
13492         pressing a radio button in the menu actually show that it was
13493         pressed.  Replace the two radio buttons to turn the horizontal
13494         scroll bar on and off with a single check-box toggle and add a
13495         separator between this and the vertical scroll bar radio
13496         buttons.  Use conventional spelling.
13497         (menu-bar-horizontal-scroll-bar)
13498         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
13499         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
13500         (menu-bar-mode): Use conventional spelling.
13502 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
13504         Remove string-as-unibyte
13506         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
13507         (canlock-make-cancel-key): No need to use string-as-unibyte.
13509 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
13511         Fix concatenation of "^" with diff-file-junk-re
13513         This regexp contains "\\|", thus a concatenation
13514         of "^" with it just matches the beginning of line for the
13515         first alternative in diff-file-junk-re.
13516         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
13517         diff-file-junk-re wrapped in a shy group.
13519 2017-05-24  Glenn Morris  <rgm@gnu.org>
13521         Suppress intermittent test failure on hydra
13523         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
13524         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
13526 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
13528         New dns-mode command for IPv6 address conversion
13530         This converts IPv6 addresses to a format suitable for
13531         reverse lookup zone files.  (Bug#26820)
13532         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
13533         Add dns-mode-ipv6-to-nibbles.
13534         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
13535         New functions.
13536         * test/lisp/dns-mode-tests.el: New file.
13538 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
13540         Protect *Backtrace* from being killed (Bug#26650)
13542         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
13543         `kill-buffer-hook'.
13545 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
13547         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
13549         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
13550         (lisp-mode-variables): Use it.
13552 2017-05-23  Philipp Stephani  <phst@google.com>
13554         vc-hg.el: Silence byte compiler warning
13556         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
13558 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13560         Don't warn about missing brances on macOS
13562         On macOS, removing -Wmissing-braces is not enough; the warning has to
13563         be disabled explicitly.
13565 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
13567         Don't treat ' as a string delimiter in RPM spec files
13569         ' is commonly used as an apostrophe in the prose sections of spec
13570         files, which was erroneously highlighted as strings. See for example
13571         http://kmymoney2.sourceforge.net/phb/rpm-example.html
13573         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
13574           punctuation in RPM spec files.
13576 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13578         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
13580         (common-lisp-indent-function-1): Remove unused var `last-point`.
13581         (lisp-indent-error-function): Move defvar before first use.
13583 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13585         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
13587         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
13589         * lisp/net/shr.el: Use cl-lib instead of cl.
13591 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13593         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
13595         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
13596         (binding-test-makunbound, data-tests-varalias-watchers)
13597         (data-tests-local-variable-watchers): Silence compiler warnings.
13599 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13601         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
13603 2017-05-23  Alan Third  <alan@idiocy.org>
13605         Fix GNUstep build
13607         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
13608         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
13609         GNUstep and old versions of macOS.
13610         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
13611         works in cocoa, not GNUstep.
13613 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
13615         Add test for Bug#27009 in tramp-tests.el
13617         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
13618         Check `tramp-file-name-real-host' for being a local host.
13620         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
13622         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
13623         Declare default host for mock method.
13624         (tramp-test29-environment-variables-and-port-numbers): New test.
13626 2017-05-23  Glenn Morris  <rgm@gnu.org>
13628         Don't advertise s_client in tls.el docs
13630         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
13631         Don't mention s_client in docs.
13633         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
13635 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
13637         Remove s_client usage from tls.el
13639         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
13640         Ref http://bugs.debian.org/766397
13641         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
13644         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
13646 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13648         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
13650 2017-05-22  Sam Steingold  <sds@gnu.org>
13652         Fix "g" in hg&git push&pull buffers
13654         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
13655         `compilation-directory' and `compilation-arguments'.
13656         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
13658 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
13660         Fix current-line hscrolling in buffers with header-line
13662         * src/xdisp.c (display_line): When testing the glyph row's
13663         vertical position against the cursor position, account for header
13664         line, if any.  (Bug#27014)
13666 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13668         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
13670         (rfc2047-decode-encoded-words): Use dolist.
13671         (rfc2047-decode-string): Avoid string-to-multibyte.
13672         (rfc2047-pad-base64): Use pcase.
13674 2017-05-21  Dima Kogan  <dima@secretsauce.net>
13676         Make ff-find-other-file symmetric for C++ (Bug#20192)
13678         `cc-other-file-alist' has a mapping of file extensions to switch
13679         between headers and sources, but the mappings weren't completely
13680         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
13681         to .cpp.
13683         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
13684         C++ extensions to make them symmetric with the C++ extensions that map
13685         to them.  This lets repeated invocations of `ff-find-other-file'
13686         toggle between all pairs of sources/headers.
13688 2017-05-21  Philipp Stephani  <phst@google.com>
13690         Fix definition of whitespace in JSON
13692         See
13693         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
13695         * lisp/json.el (json-skip-whitespace): Fix definition.
13696         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
13697         test.
13699 2017-05-21  Philipp Stephani  <phst@google.com>
13701         Improve module function terminology
13703         Module functions were previously called "function environments" when
13704         the functions created by module_make_functions were lambdas.  Now we
13705         can adapt the terminology and rename "function environments" to
13706         "module functions" everywhere.  This also removes the name clash
13707         between "function environments" and "module environments."
13709         * src/emacs-module.c (module_make_function): Adapt comment to reality;
13710         stop using "function environment" terminology.
13711         (funcall_module): Stop using "function environment" terminology.
13713 2017-05-21  Philipp Stephani  <phst@google.com>
13715         Avoid uninitialized read
13717         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
13719 2017-05-21  Philipp Stephani  <phst@google.com>
13721         Fix call of registerServicesMenuSendTypes
13723         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
13724         returnTypes; pass an empty array instead.
13726 2017-05-21  Philipp Stephani  <phst@google.com>
13728         Clean up code around 'ns-list-services'
13730         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
13731         branch NS_IMPL_COCOA cannot be defined.
13732         (interpret_services_menu): Define only if called to avoid compiler
13733         warnings about unused static functions.
13735 2017-05-21  Philipp Stephani  <phst@google.com>
13737         Remove unused automatic variables
13739         * src/nsterm.m (ns_read_socket):
13740         * src/macfont.m (macfont_open): Remove unused automatic variables.
13742 2017-05-21  Philipp Stephani  <phst@google.com>
13744         Nextstep: Replace deprecated enumerators
13746         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
13747         deprecated enumerator.
13749 2017-05-21  Philipp Stephani  <phst@google.com>
13751         Nextstep: remove some deprecated method calls
13753         * src/nsterm.m (mouseDown:):
13754         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
13755         deprecated method.  The return value is always nil.
13756         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
13758 2017-05-21  Philipp Stephani  <phst@google.com>
13760         Remove trailing semicolons in method definitions
13762         These semicolons are ignored and cause compiler warnings.
13764         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
13765         * src/nsterm.m (init, updateFrameSize:):
13766         (setFrame:): Remove trailing semicolon.
13768 2017-05-21  Philipp Stephani  <phst@google.com>
13770         Remove calls to deprecated setUsesScreenFonts
13772         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
13773         (mac_font_shape_1): Remove screen_font_p parameter.
13774         (mac_screen_font_shape): Remove screen_font_p argument.
13776 2017-05-21  Philipp Stephani  <phst@google.com>
13778         Make a function static that isn't used outside this file
13780         * src/kqueue.c (kqueue_directory_listing): Make static.
13782 2017-05-21  Philipp Stephani  <phst@google.com>
13784         Use NSCharacterCollection instead of CTCharacterCollection
13786         This should not cause behavior changes, but fixes a compiler warning
13787         due to implicit conversions between the enums.
13789         * src/macfont.m (macfont_cache, macfont_lookup_cache)
13790         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
13791         (macfont_variation_glyphs): Use NSCharacterCollection.
13793 2017-05-21  Philipp Stephani  <phst@google.com>
13795         Remove unused function print_regions
13797 2017-05-21  Philipp Stephani  <phst@google.com>
13799         Declare Nextstep unexec functions in lisp.h
13801         This removes compiler warnings about missing prototypes on macOS.
13803 2017-05-21  Philipp Stephani  <phst@google.com>
13805         Nextstep: Use instancetype explicit return type
13807         This removes compiler warnings on macOS and improves type safety.
13809         * src/nsterm.m (initFrameFromEmacs:):
13810         (menuDown:):
13811         (toolbarClicked:):
13812         (toggleToolbar:):
13813         (setMiniwindowImage:):
13814         (initFrame:window:):
13815         (condemn, reprieve, setPosition:portion:whole:):
13816         (repeatScroll:):
13817         * src/nsmenu.m (initWithTitle:):
13818         (initWithTitle:frame:):
13819         (initForView:withIdentifier:):
13820         (init, initWithContentRect:styleMask:backing:defer:):
13821         (initFromContents:isQuestion:):
13822         * src/nsimage.m (allocInitFromFile:):
13823         (initFromXBM:width:height:fg:bg:):
13824         (setXBMColor:):
13825         (initForXPMWithDepth:width:height:): Use instancetype as return
13826         type instead of implicit id.
13828 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
13830         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
13832 2017-05-21  Alan Mackenzie  <acm@muc.de>
13834         Enhance mode-line percentage offset facility, with "%o" and "%q"
13836         "%o" will display the percentage "travel" of the window through the buffer.
13837         "%q" will display a combination of the percentage offsets of the top and
13838         bottom of the window.  The new user option mode-line-percent-position will
13839         facilitate selecting a setting for this part of the mode line.
13841         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
13842         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
13844         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
13846         * doc/lispref/modes.texi (Mode Line Variables): Document
13847         mode-line-percent-position.
13848         (%-Constructs): Document %o and %q.
13850         * etc/NEWS: Add an entry for these new facilities.
13852 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13854         Work around macOS bug in create_process, too
13856         * src/process.c (create_process) [DARWIN_OS]:
13857         Reset SIGCHLD after vfork here, too.
13859 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13861         Work around macOS bug with vforked child
13863         * src/callproc.c (call_process) [DARWIN_OS]:
13864         Include workaround for apparent macOS bug.
13866 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13868         Pacify --enable-gcc-warnings without modules
13870         * src/print.c (print_vectorlike): New function, taken from
13871         part of print_object.  This one is indented properly, and
13872         pacifies --enable-gcc-warnings by using a default case
13873         instead of listing all the enum values, sometimes
13874         incompletely.
13875         (print_object): Use it.
13877 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13879         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
13881         It does not appear to be needed (Bug#24441).
13882         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
13883         * src/fileio.c (file_name_case_insensitive_p):
13884         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
13886 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13888         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
13890         * etc/PROBLEMS: Document this (Bug#24441).
13891         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
13892         with _PC_CASE_SENSITIVE, if it works, to
13893         DARWIN_OS_CASE_SENSITIVE_FIXME code.
13894         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
13895         which matches the Apple documentation more precisely.
13897 2017-05-21  Tom Tromey  <tom@tromey.com>
13899         Fix mhtml-mode fontification bug
13901         Bug#26922
13902         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
13903         sgml-syntax-propertize-inside if not in a submode.
13904         * test/manual/indent/html-multi-4.html: New file.
13906 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
13908         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
13910         * lisp/ido.el (ido-set-matches-1): Only check first character of
13911         item if it's non-empty.
13913 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
13915         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
13917 2017-05-21  Glenn Morris  <rgm@gnu.org>
13919         Prevent loading vc-bzr writing to ~/.bzr.log
13921         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
13923 2017-05-21  Glenn Morris  <rgm@gnu.org>
13925         Prevent running vc-tests writing to ~/.bzr.log
13927         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
13928         (vc-test--register, vc-test--working-revision)
13929         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
13931 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
13933         Don't end non-hook variable with "-hook" (Bug#26623)
13935         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
13936         follow-inside-post-command-hook, update uses.
13938 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
13940         Fix macOS mouse movement
13942         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
13943         function (Lisp).
13944         (set-mouse-absolute-pixel-position): Change it to call
13945         `ns-set-mouse-absolute-pixel-position' on macOS.
13946         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
13947         function.
13948         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
13949         screen's height as a base for calculating global coordinates.
13950         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
13951         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
13952         movement of mouse relative to frame.
13954 2017-05-21  Alan Third  <alan@idiocy.org>
13956         Show tooltip on correct screen (bug#26905)
13958         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
13959         tooltip and constrain it to that screen.
13961 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
13963         Don't save unrelated buffers before recompiling directory (Bug#25964)
13965         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
13966         buffers visiting lisp files under the directory being compiled.
13968 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13970         Minor fixes for arity ranges in emacs modules
13972         * src/emacs-module.c (module_make_function):
13973         Check that arities fit into fixnums, for func-arity’s benefit.
13974         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
13975         (module_function_arity): Allow arities greater than SHRT_MAX.
13977 2017-05-20  Philipp Stephani  <phst@google.com>
13979         Reimplement module functions
13981         Instead of a lambda, create a new type containing all data required to
13982         call the function, and support it in the evaluator.  Because this type
13983         now also needs to store the function documentation, it is too big for
13984         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
13985         that we don't have to add special support to the garbage collector.
13987         Since the new type is user-visible, give it a predicate.
13989         Now we can easily support 'help-function-args' and 'func-arity'; add
13990         unit tests for these.
13992         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
13993         (XMODULE_FUNCTION): New pseudovector type 'module function'.
13995         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
13996         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
13997         functions.
13998         (Ffunc_arity): Add support for detecting the arity of module
13999         functions.
14001         * src/emacs-module.c (module_make_function): Adapt to new structure.
14002         Return module function object directly instead of wrapping it in a
14003         lambda; remove FIXME.
14004         (funcall_module): New function to call module functions.  Replaces
14005         `internal--module-call' and is called directly from eval.c.
14006         (syms_of_module): Remove internal helper function, which is no longer
14007         needed.
14008         (module_function_arity): New helper function.
14010         * src/data.c (Ftype_of): Adapt to new implementation.
14011         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
14012         that module functions are first-class objects, they deserve a
14013         predicate.  Define it even if not compiled with --enable-modules so
14014         that Lisp code doesn't have to check for the function's existence.
14016         * src/doc.c (Fdocumentation): Support module functions.
14018         * src/print.c (print_object): Adapt to new implementation.
14020         * src/alloc.c (mark_object): Specialized garbage collector support is
14021         no longer needed.
14023         * lisp/help.el (help-function-arglist): Support module functions.
14024         While there, simplify the arity calculation by using `func-arity',
14025         which does the right thing for all kinds of functions.
14027         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
14028         the argument list.
14030         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
14031         new docstring.
14032         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
14033         is gone, the backtrace has changed and no longer leaks the
14034         implementation.
14035         (module--func-arity): New test for `func-arity'.
14036         (module--help-function-arglist): New test for `help-function-arglist'.
14038 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
14040         Avoid crashes in GC due to unescaped characters warning
14042         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
14043         Lisp objects from stack-based variables.  (Bug#26961)
14045 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
14047         New commands: find-library-other-window, find-library-other-frame
14049         * lisp/emacs-lisp/find-func.el (find-library-other-window)
14050         (find-library-other-frame): New commands to complement the
14051         existing 'find-library' command.  (Bug#26712)
14052         (read-library-name): New function to read a library name.
14053         * etc/NEWS: Mention 'find-library-other-window' and
14054         'find-library-other-frame'.
14056 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
14058         Fix automatic hscrolling of only the current line
14060         * src/xdisp.c (display_line): When hscrolling only the current
14061         line, increment iterator's first_visible_x and last_visible_x
14062         values to account for the hscroll.  This propagates the hscroll
14063         effect on the iterator geometry all the way down to the
14064         subroutines called by display_line, and avoids scrolling bugs
14065         under large hscroll values.  (Bug#26994)
14067 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14069         Add handlerlist assertion to module code
14071         * src/emacs-module.c (module_reset_handlerlist):
14072         Check handlerlist.  Suggested by Philipp Stephani in:
14073         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
14075 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14077         Port --enable-gcc-warnings to clang 3.9.1
14079         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
14080         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
14081         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
14083 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
14085         Limit integers printed as characters (Bug#16828)
14087         * lisp/simple.el (eval-expression-print-maximum-character): New
14088         variable.
14089         (eval-expression-print-format): Only display value as character if
14090         it's less than or equal to `eval-expression-print-maximum-character'.
14091         (eval-expression-get-print-arguments): Check
14092         eval-expression-print-maximum-character, allow negative arg to
14093         override it.
14094         (eval-expression):
14095         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
14096         (elisp--eval-last-sexp-print-value): Handle new variable.
14097         * doc/emacs/building.texi (Lisp Eval): Document new variable and
14098         behavior.
14099         * etc/NEWS: Announce it.
14100         * test/lisp/progmodes/elisp-mode-tests.el
14101         (eval-last-sexp-print-format-small-int)
14102         (eval-last-sexp-print-format-small-int-echo)
14103         (eval-last-sexp-print-format-large-int)
14104         (eval-last-sexp-print-format-large-int-echo):
14105         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
14106         (eval-expression-print-format-small-int-echo)
14107         (eval-expression-print-format-large-int)
14108         (eval-expression-print-format-large-int-echo): New tests.
14110 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
14112         Refactor lisp eval result printing
14114         * lisp/simple.el (eval-expression-print-format): Don't check
14115         `standard-output' or `current-prefix-arg'.
14116         (eval-expression-get-print-arguments): New function, centralizes
14117         decision about how to print results of `eval-expression' and
14118         `eval-last-sexp'.
14119         (eval-expression):
14120         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
14121         Use it.
14123 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14125         Check that signed right shift is arithmetic
14127         * src/data.c (ash_lsh_impl): Verify that signed right shift is
14128         arithmetic; if we run across a compiler that uses a logical shift
14129         we’ll need to complicate the code before removing this
14130         compile-time check.  Help the compiler do common subexpression
14131         elimination better.
14133 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14135         Minor .gitignore fixes
14137         * .gitignore: modules/mod-test/Makefile was renamed to
14138         test/data/emacs-module/Makefile.
14139         Omit [0-9]*.core, subsumed by *.core.
14140         test/indent/*.new was renamed to test/manual/indent/*.new.
14141         Add *.swp, for Vim.
14143 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
14145         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
14147 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
14149         Describe problems with Microsoft Intellipoint
14151         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
14152         mouse-2 events.  For the details, see
14153         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
14155 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
14157         Fix turning off whitespace-mode
14159         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
14160         the original buffer-display-table is saved and restored when
14161         global-whitespace-mode is active.  (Bug#26892)
14163         * test/lisp/whitespace-tests.el
14164         (whitespace-tests-whitespace-mode-on): New function.
14165         (whitespace-tests-display-tables): New test.
14167 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
14169         Minor tweaks in tramp-tests.el
14171         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
14172         (tramp-test05-expand-file-name-relative): Use it.
14173         (tramp-test38-unload): Run only in batch mode.
14175 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
14177         Fix a problem with OpenSSH 7 in Tramp
14179         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
14180         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
14182 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
14184         Improve documentation of 'split-string'
14186         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
14187         make it more readable.  (Bug#26925)
14189 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
14191         Fix typos in doc strings
14193         * lisp/mail/rfc2231.el (rfc2231-encode-string):
14194         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
14195         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
14196         strings.  (Bug#26103)
14198 2017-05-19  Philipp Stephani  <phst@google.com>
14200         Fix module tests on some systems
14202         If dladdr(3) isn't available or didn't work, the printed
14203         representation of a module function will not include the file name,
14204         but only the address.  Make the tests pass in that case.
14206         * test/src/emacs-module-tests.el (module-function-object): Fix match for
14207         module function printed representation
14209 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
14211         Add an optional arguments to string-trim
14213         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
14214         (string-trim): Add optional args that serve as defaults per the
14215         original behavior.  (Bug#26908)
14217 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
14219         Fix typo in last change to auto-hscroll-mode
14221         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
14223 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
14225         Support remote editing in emacsclient via Tramp
14227         * lib-src/emacsclient.c (main, decode_options)
14228         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
14229         specifies how emacs should use tramp to find remote files.
14231         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
14232         the various knobs to tune server.el for TCP opereation.
14233         (emacsclient Options): Reference "TCP Emacs server" from description of
14234         --server-file.  Document the new '--tramp' / '-T' options.
14235         * doc/emacs/emacs.texi (Top): Update the top-level menu.
14237         * etc/NEWS: Mention the new option.
14239 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
14241         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
14243 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14245         Attempt to work around macOS vfork bug
14247         Problem reported by YAMAMOTO Mitsuharu in:
14248         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
14249         This is related to the fix for Bug#26397.
14250         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
14251         Report internal error if wait_for_termination fails.
14252         * src/sysdep.c (get_child_status): Return -1 if waitpid is
14253         buggy, instead of aborting.
14254         (wait_for_termination): Return bool success value.
14255         All callers changed.
14257 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
14259         Adjust defcustom form for 'auto-hscroll-mode'
14261         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
14262         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
14264 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14266         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
14268         * src/fileio.c (file_name_case_insensitive_p):
14269         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
14270         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
14271         Problem reported by Philipp Stephani in:
14272         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
14274 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14276         Port --enable-gcc-warnings to clang 3.9.1
14278         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
14279         Problem reported by Philipp Stephani in:
14280         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
14282 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14284         Clean up compiler warning in emacs-module.c
14286         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
14287         instead of leaving it unused, to pacify picky compilers.
14288         (module_reset_handlerlist): Now takes a dummy pointer to a struct
14289         handler *, instead of a dummy pointer to an int.  All uses changed.
14291 2017-05-19  Philipp Stephani  <phst@google.com>
14293         Clean up some compiler warnings
14295         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
14296         Remove unused locals.
14298 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
14300         Support hscrolling only the current line
14302         * src/xdisp.c (hscrolling_current_line_p): New function.
14303         (init_iterator): If auto-hscrolling just the current line, don't
14304         increment the iterator's first_visible_x and last_visible_x
14305         variables.
14306         (hscroll_window_tree): Recompute window's hscroll when moving
14307         vertically to another screen line.
14308         (redisplay_window): If we are hscrolling only the current line,
14309         disable the optimizations that rely on the current matrix being
14310         up-to-date.
14311         (display_line): Accept an additional argument CURSOR_VPOS, the
14312         vertical position of the current screen line which might need
14313         hscrolling; all callers changed.  Compute first_visible_x and
14314         last_visible_x specially when auto-hscrolling current line, by
14315         repeating the calculation that is done in init_iterator in other
14316         modes.
14317         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
14318         accept a 3rd value 'current-line, to turn on the mode where
14319         only the current line is hscrolled.
14321         * etc/NEWS: Mention the new auto-hscroll-mode value.
14323 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
14325         Fix last change in line-move-finish
14327         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
14328         regression in C-n and C-p when lines are truncated, introduced by the
14329         change in 2017-05-10.
14331 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
14333         Expand docstring for CSS mode
14335         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
14336         Expand docstrings.
14338 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
14340         Use the expression angle units while simplifying it
14342         Don't use the angle mode, use the angle units included
14343         in the expression instead (Bug#23889).
14344         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
14345         (math-simplify): Use it.
14346         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
14347         Don't use calc-angle-mode if math-simplifying-units is non-nil.
14348         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
14349         (math-to-radians-2, math-from-radians-2): Don't convert angle
14350         to radians if math-simplifying-units is non-nil.
14351         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
14353 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
14355         Revert "Ignore angle mode while simplifying units"
14357         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
14358         This commit causes Bug#25652.
14360 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14362         Avoid undefined behavior in struct sockaddr
14364         Problem noted by Philipp Stephani in:
14365         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
14366         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
14367         New macros.
14368         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
14369         (connect_network_socket, network_interface_info)
14370         (server_accept_connection): Use it when aliasing non-char objects.
14372 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
14374         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
14376         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
14377         Add autoload cookie.
14378         (smerge--refine-forward): Rename from smerge-refine-forward.
14379         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
14380         Assume that its `beg` arg is a marker.
14381         (smerge--refine-highlight-change): Rename from
14382         smerge-refine-highlight-change.  Remove `buf` arg.
14383         (smerge-refine-subst): Redefine as an obsolete alias.
14385 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14387         Work around AddressSanitizer bug with vfork
14389         Problem reported by Jim Meyering in:
14390         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
14391         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
14392         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
14393         vforked child messes up the parent’s shadow memory.  This is too
14394         bad, as we’d rather have AddressSanitizer catch memory-access bugs
14395         related to vfork.
14397 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14399         Catch IPv4/IPv6 issues at compile time
14401         * src/process.c (connect_network_socket): Use verify,
14402         not eassert, so that any problems are caught at compile-time.
14403         Avoid dodgy cast by using a local var of the correct type.
14405 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14407         Pacify --enable-gcc-warnings --with-x-toolkit=no
14409         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
14410         Avoid unused local.
14412 2017-05-17  Glenn Morris  <rgm@gnu.org>
14414         * admin/update_autogen (commit): Pull before push.
14416 2017-05-17  Glenn Morris  <rgm@gnu.org>
14418         autoload-rubric no longer provides a feature by default
14420         * lisp/emacs-lisp/autoload.el (autoload-rubric):
14421         Stop providing a feature unless explicitly requested.
14422         (autoload-find-generated-file): Update autoload-rubric call.
14424 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
14426         Remove redundant code in connect_network_socket
14428         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
14429         Remove redundant type-casting and variables.  Don't call
14430         'getsockname' to find the port for AF_LOCAL sockets.
14431         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
14432         and IPv6 structures are at the same offset and have the same size.
14434 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14436         Fix minor timezone memory leak
14438         * src/editfns.c (wall_clock_tz): Remove; unused.
14440 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14442         Do not discard AddressSanitizer stderr
14444         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
14445         Do not close stderr.
14447 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14449         Simplify procname code to avoid GCC bug
14451         * src/process.c (server_accept_connection): Simplify and avoid
14452         multiple calls and struct literals in the last case of a switch.
14453         The old code ran afoul of GCC bug 80659, which caused an internal
14454         compiler error.  Problem reported by Jim Meyering in:
14455         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
14456         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
14458 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14460         Pacify GCC 7 with --enable-gcc-warnings
14462         * src/regex.c (regex_compile): Swap labels, so that the
14463         FALLTHROUGH immediately precedes the case label.
14465 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14467         Merge with gnulib, pacifying GCC 7
14469         This incorporates:
14470         2017-05-16 manywarnings: update for GCC 7
14471         2017-05-15 sys_select: Avoid "was expanded before it was required"
14472         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
14473         -Wformat-overflow=2 options, due to too many false alarms.
14474         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
14475         Copy from gnulib.
14476         * m4/gnulib-comp.m4: Regenerate.
14477         * src/coding.c (decode_coding_iso_2022):
14478         Fix bug uncovered by -Wimplicit-fallthrough.
14479         * src/conf_post.h (FALLTHROUGH): New macro.
14480         Use it to mark all switch cases that fall through.
14481         * src/editfns.c (styled_format): Use !, not ~, on bool.
14482         * src/gtkutil.c (xg_check_special_colors):
14483         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
14484         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
14485         this bug was actually caught by Clang.
14486         * src/search.c (boyer_moore):
14487         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
14488         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
14489         Tell GCC that glyph->u.glyphless.ch must be a character.
14491 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
14493         Make autoloading Tramp more robust
14495         * lisp/net/tramp.el (tramp-file-name-for-operation):
14496         Use `default-directory' where appropriate.
14497         (tramp-file-name-handler): Do not autoload.
14498         (tramp-autoload-file-name-handler): Reintroduce function.
14499         (tramp-register-autoload-file-name-handlers): Use it.
14501 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
14503         Extend tramp-tests.el
14505         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
14506         Remove declaration, not needed anymore.
14507         (tramp-test05-expand-file-name-relative): New test.
14508         (tramp-test10-write-region): Extend test.
14510 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
14512         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
14514 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
14516         Make `indent-line-to' respect field boundaries (Bug#26891)
14518         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
14519         of `backward-to-indentation'.
14521 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
14523         Make sure indent-sexp stops at end of sexp (Bug#26878)
14525         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
14526         indenting.
14527         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
14528         test.
14530 2017-05-16  Glenn Morris  <rgm@gnu.org>
14532         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
14534         * test/lisp/epg-tests.el (with-epg-tests):
14535         Also set GNUPGHOME in the environment of child processes.
14536         This avoids problems if gpg does not pass --homedir to spawned agent.
14538 2017-05-16  Glenn Morris  <rgm@gnu.org>
14540         Add oldxmenu to system-configuration-features
14542         * configure.ac (HAVE_OLDXMENU): New.
14543         (emacs_config_features): Add oldxmenu.
14545 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
14547         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
14549 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
14551         Remove unneeded stuff from nt/inc/sys/time.h
14553         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
14554         (timercmp, timerclear): Don't define.  Instead, include the system
14555         header sys/time.h, and add only the interval timers stuff.  This
14556         avoids compiler warnings about 'gettimeofday's prototype, and also
14557         avoids redefinition of macros from system headers.
14559 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
14561         Fix address violation found by AddressSanitizer
14563         * src/process.c (connect_network_socket):
14564         Use struct sockaddr_storage, not struct sockaddr_in, to store info
14565         about a socket address.  Problem reported by Philipp Stephani in:
14566         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
14567         This fix is based on a patch by Philipp in:
14568         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
14570 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
14572         Make edebug-step-in work on generic methods (Bug#22294)
14574         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
14575         New function to implement the edebug-form-spec property of
14576         the symbol cl-generic-method-args.
14577         (edebug-instrument-function): If the function is a generic
14578         function, find and instrument all of its methods. Return a list
14579         instead of a single symbol.
14580         (edebug-instrument-callee): Now returns a list. Update docstring.
14581         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
14582         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
14583         cl-generic-method-args in its Edebug spec.
14584         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
14585         cl-generic-method-args in its Edebug spec.
14586         * lisp/subr.el (method-files): New function.
14587         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
14588         (subr-tests--method-files--nonexistent-methods): New tests.
14590 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14592         Merge from gnulib
14594         This incorporates:
14595         2017-05-14 same-inode: Adapt for windows-stat-inodes
14596         2017-05-14 windows-stat-inodes: New module
14597         2017-05-14 stat-time: Adapt for windows-stat-timespec
14598         * lib/gnulib.mk.in: Regenerate.
14599         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
14600         Copy from gnulib.
14602 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14604         Remove gettimeofday from w32 sources
14606         * lib-src/ntlib.c (gettimeofday):
14607         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
14608         function 'gettimeofday' and all of its supporting code.
14610 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14612         Fix the MS-Windows build
14614         * nt/inc/sys/time.h (gettimeofday):
14615         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
14617 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
14619         More accurate documentation of the ':box' face attribute
14621         * doc/lispref/display.texi (Face Attributes): Fix the description
14622         of negative width of the ':box' attribute.  (Bug#26920)
14624 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14626         Merge from gnulib
14628         This incorporates:
14629         2017-05-13 largefile: Simplify
14630         2017-05-13 largefile: Improve and document
14631         2017-05-13 truncate: New module
14632         2017-05-13 windows-stat-timespec: New module
14633         2017-05-13 windows-stat-override: New module
14634         2017-05-11 getopt-posix: port to mingw
14635         2017-05-11 gettimeofday: Increase precision on mingw
14636         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
14637         2017-05-10 Implement a way to opt out from MSVC support
14638         2017-05-09 tzset: Expand comment about TZ problem on native Windows
14639         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
14640         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
14641         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
14642         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
14643         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
14644         * m4/unistd_h.m4: Copy from gnulib.
14645         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14647 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
14649         Merge branch 'fix/bug-21072'
14651 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
14653         * .gitlab-ci.yml: Add setup for GitLab CI builds.
14655 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
14657         New minor mode 'pixel-scroll-mode'
14659         * lisp/pixel-scroll.el: New file.
14661         * etc/NEWS: Mention pixel-scroll-mode.
14663 2017-05-13  Philipp  <phst@google.com>
14665         Make `old-style-backquotes' variable internal
14667         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
14668         (syms_of_lread): Rename `old-style-backquotes' to
14669         `lread--old-style-backquotes', and clarify that it's for internal
14670         use only.
14671         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
14672         variable.
14673         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
14674         unit test.
14675         * test/lisp/emacs-lisp/bytecomp-tests.el
14676         (bytecomp-tests--old-style-backquotes): Add unit test.
14678 2017-05-13  Philipp Stephani  <phst@google.com>
14680         Improve unescaped character literal warnings
14682         * src/lread.c (load_warn_unescaped_character_literals)
14683         (syms_of_lread):
14684         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
14685         formatting of unescaped character literal warnings.
14687         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
14688         test/lisp/emacs-lisp/bytecomp-tests.el
14689         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
14691 2017-05-12  Alan Mackenzie  <acm@muc.de>
14693         Fontify C++ for loop variable as variable, even when followed by parentheses
14695         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
14696         getting fontified as a function, due to insufficient checking of the tokens
14697         between it and "()".
14699         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
14700         lang-consts/vars.
14702         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
14703         declarator's identifier, check for a ":" token inside a for's parentheses, and
14704         abort the search for "(" if this is found.
14706 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
14708         Make Tramp backward compatible
14710         * lisp/net/tramp-cmds.el (tramp-change-syntax):
14711         Set tramp-autoload cookie.
14713         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
14714         startup, if necessary.
14716         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
14717         (tramp-register-autoload-file-name-handlers): Do not mark
14718         `operations' for `tramp-file-name-handler'.
14719         (tramp-register-file-name-handlers): Remove also
14720         `tramp-autoload-file-name-handler' for backward compatibility.
14721         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
14723         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
14725 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14727         Modify `beginning-of-defun-comments'
14729         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
14730         in the middle of a multiline comment.
14732 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14734         Fix elisp-tests-with-temp-buffer compilation
14736         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
14737         Don't refer to the =!NAME= as "markers" since they produce variables
14738         with just plain positions, not marker objects.  Explicitly specify
14739         that CONTENTS is evaluated at compile time.  Don't re-evaluate
14740         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
14741         to BODY not using =!NAME= variables.
14742         (elisp-test-point-position-regex): Rename from
14743         `elisp-test-point-marker-regex'.
14744         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
14746 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
14748         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
14750 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
14752         Fix Bug#21072 and rework `mark-defun'
14754         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
14755           New variable
14756         (mark-defun-no-arg-region-inactive)
14757         (mark-defun-no-arg-region-active)
14758         (mark-defun-arg-region-active)
14759         (mark-defun-pos-arg-region-inactive)
14760         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
14761         the new `mark-defun'.
14763         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
14764           New function.
14765         (beginning-of-defun-comments): New function.
14766         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
14767         to accept a numerical prefix argument.
14769 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
14771         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
14773 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
14775         Improve doc strings in net-utils.el
14777         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
14778         (route, traceroute, nslookup, ftp, smbclient)
14779         (smbclient-list-shares, finger, whois)
14780         (network-connection-to-service, network-service-connection)
14781         (network-connection-reconnect): Improve doc strings.
14783 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
14785         Extend DNS lookup commands to allow specifying the name server
14787         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
14788         'net-utils-machine-at-point' obviating this autoloaded
14789         function (Bug#25426).
14790         (dig-program-options): New customization variable.
14791         (nslookup-host, dns-lookup-host, run-dig): Can now specify
14792         optional name server argument interactively (by prefix arg) and
14793         non-interactively.
14795         * etc/NEWS: Mention the extension of DNS lookup commands.
14797 2017-05-12  Glenn Morris  <rgm@gnu.org>
14799         Don't hard-code loaddefs files in lisp/Makefile
14801         * lisp/Makefile.in (loaddefs): New variable.
14802         (AUTOGENEL): Use $loaddefs, and include directory.
14803         (bootstrap-clean): Update for AUTOGENEL change.
14805 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
14807         Kill modified buffers silently when quitting (bug#26862)
14809         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
14810         sure that latest drafts are saved, and kill modified buffers silently.
14812 2017-05-10  Perry E. Metzger  <perry@piermont.com>
14814         Implement 1-based column numbering in mode line
14816         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
14818         * lisp/bindings.el (column-number-indicator-zero-based): New
14819         defcustom.
14820         (mode-line-position): Use %C when
14821         column-number-indicator-zero-based is nil.
14823         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
14824         * src/buffer.c (syms_of_buffer) <mode-line-format>:
14825         * doc/lispref/modes.texi (%-Constructs):
14826         * doc/lispref/frames.texi (Frame Titles): Document the %C
14827         construct.
14829         * doc/emacs/display.texi (Optional Mode Line): Document
14830         'column-number-indicator-zero-based'.
14832         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
14833         %C construct.
14835 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
14837         Ensure cursor's foreground color is in sync with 'default' face
14839         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
14840         foreground color is different from the background of the glyph
14841         string's face.  (Bug#26851)
14843 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
14845         Fix vertical cursor motion when columns are of unequal size
14847         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
14848         vertical-motion to move to the goal column, as the goal column
14849         should in that case be interpreted in units of frame's canonical
14850         character width.  (Bug#26852)
14852 2017-05-10  Glenn Morris  <rgm@gnu.org>
14854         Fix finding test .el files
14856         * test/Makefile.in (ELFILES): Exclude the data/ directory.
14857         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
14859 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
14861         Tweak a recent test
14863         This test fails in my local machine because the data files
14864         are compiled, and the test doesn't expect that.
14865         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
14866         ending with '.elc' when the data files are compiled.
14868 2017-05-10  Glenn Morris  <rgm@gnu.org>
14870         Put license information in each generated uni-*.el
14872         * admin/unidata/unidata-gen.el (unidata-gen-file):
14873         Get Copyright line from copyright.html.
14874         Put information in file header, not separate README.
14875         (unidata-gen-charprop): Mention the source location.
14876         * lisp/international/README: Remove file.
14878 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
14880         Fix lisp-indent-region and indent-sexp (Bug#26619)
14882         The new lisp-indent-region introduced in 2017-04-22 "Add new
14883         `lisp-indent-region' that doesn't reparse the code." is broken because
14884         it doesn't save the calculated indent amounts for already seen sexp
14885         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
14886         code.  Furthermore, only preserve position 2 of the running parse
14887         when the depth doesn't change.
14888         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
14889         corresponds with the start point when calling parse-partial-sexp.
14890         (lisp-indent-state): New struct.
14891         (lisp-indent-calc-next): New function, extracted from indent-sexp.
14892         (indent-sexp, lisp-indent-region): Use it.
14893         (lisp-indent-line): Take indentation, instead of parse state.
14894         * test/lisp/emacs-lisp/lisp-mode-tests.el
14895         (lisp-mode-tests--correctly-indented-sexp): New constant.
14896         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
14897         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
14898         tests.
14900 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
14902         Simplify url-encode-url and add a test
14904         * lisp/url/url-util.el (url-encode-url): Simplify.
14905         url-generic-parse-url copes with multibyte strings just fine
14906         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
14908         * test/lisp/url/url-parse-tests.el
14909         (url-generic-parse-url/multibyte-host-and-path): New test.
14911 2017-05-10  Glenn Morris  <rgm@gnu.org>
14913         More informative error when required feature missing
14915         * src/fns.c (Frequire): Include file name in missing feature error.
14916         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
14918 2017-05-10  Glenn Morris  <rgm@gnu.org>
14920         Put re-loaded file back at start of load-history (bug#26837)
14922         * src/lread.c (readevalloop): Fix the "whole buffer" check to
14923         operate in the correct buffer.
14924         (Feval_buffer): Move point back to the start after checking
14925         for lexical binding.
14926         * test/src/lread-tests.el (lread-test-bug26837): New test.
14927         * test/data/somelib.el, test/data/somelib2.el: New test data files.
14929 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
14931         Improve documentation of 'gnutls-verify-error'
14933         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
14934         doc string.  (Bug#26845)
14936 2017-05-09  Glenn Morris  <rgm@gnu.org>
14938         Don't duplicate autoload code in package.el
14940         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
14941         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
14942         (package-autoload-ensure-default-file): Use autoload-rubric.
14944 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
14946         * test/lisp/net/tramp-tests.el: Keep additional test.
14948 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
14950         Add elisp-tests-with-temp-buffer, a new testing macro
14952         * test/lisp/emacs-lisp/lisp-tests.el
14953         (elisp-test-point-marker-regex) New variable.
14954         (elisp-tests-with-temp-buffer): New macro to help test functions
14955         moving the point and/or mark.
14957 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
14959         Revert "Output number of characters added to file (Bug#354)"
14961         The extra message text turned out to be quite annoying in practice,
14962         and is generally more trouble than it's worth.  Also revert several
14963         related changes.
14965         Partially revert "Handle `write-region' messages in Tramp properly"
14966         Revert "New var write-region-verbose, default nil"
14967         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
14968         Revert "Minor tuneup of write-region change"
14969         Revert "Adjust write-region so file name is at the beginning again"
14970         Revert "Fix handling of non-integer START param to write-region"
14971         Revert "Output number of characters added to file (Bug#354)"
14973         * doc/emacs/files.texi (Misc File Ops):
14974         * etc/NEWS:
14975         * lisp/epa-file.el (epa-file-write-region):
14976         * lisp/gnus/mm-util.el (mm-append-to-file):
14977         * lisp/jka-compr.el (jka-compr-write-region):
14978         * lisp/net/ange-ftp.el (ange-ftp-write-region):
14979         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
14980         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14981         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
14982         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14983         * lisp/net/tramp.el (tramp-handle-write-region-message):
14984         * src/fileio.c (write_region, syms_of_fileio):
14985         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
14986         extra characters from file writing messages.
14988 2017-05-09  Noah Friedman  <friedman@splode.com>
14990         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
14991         because $ptr is modified by ygetptr and we use $ptr immediately at the
14992         beginning.
14994 2017-05-08  Ken Brown  <kbrown@cornell.edu>
14996         Skip a test from filenotify-tests.el on Cygwin
14998         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
14999         Skip the last part of the test on Cygwin; it fails due to timing
15000         issues.
15001         (file-notify--test-read-event):  Remove `sit-for' that was added
15002         for Cygwin.
15004 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15006         Merge from gnulib
15008         This incorporates:
15009         2017-05-08 intprops: don’t depend on ‘verify’
15010         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
15011         2017-05-07 utimens: Improve error code on native Windows
15012         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
15014 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
15016         Fix various verilog-mode.el issues.
15018         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
15019         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
15020         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
15021         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
15022         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
15023         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
15024         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
15025         msg2143. Reported by Galen Seitz.
15026         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
15027         compile-command is globally set, bug1119.  Reported by Galen Seitz.
15029 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
15031         Handle `write-region' messages in Tramp properly
15033         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
15034         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
15035         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
15036         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
15037         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
15039         * lisp/net/tramp.el (tramp-password-prompt-regexp)
15040         (tramp-completion-mode-p):
15041         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
15042         (tramp-append-tramp-buffers):
15043         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
15044         Use `bound-and-true-p'.
15046         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
15047         Don't check for `boundp' anymore.
15049         * test/lisp/net/tramp-tests.el (ert-x): Require it.
15050         (tramp--test-messages): New defvar.
15051         (tramp-test10-write-region): Extend test.
15053 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15055         Fix glyph string generation for multi-font compositions (Bug#26742)
15057         * src/xdisp.c (glyph_string_containing_background_width): New function.
15058         (draw_glyphs): Use it to get correct background width.
15059         (compute_overhangs_and_x): Don't change x in the middle of composite
15060         characters.
15062 2017-05-07  Philipp Stephani  <phst@google.com>
15064         Fix all unescaped character literals
15066 2017-05-07  Alan Mackenzie  <acm@muc.de>
15068         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
15070         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
15071         e.g., between the two characters of an opening comment "/*", and additionally
15072         there were an odd number of quote marks (apostrophes) in the comment.  This
15073         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
15074         buffer position 615001.
15076         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
15077         pps-extended-state to mean that there are at least 11 elements in the parser
15078         state.
15080         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
15081         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
15082         types which indicate potentially being inside two-char constructs.
15083         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
15084         functions.
15086 2017-05-07  Glenn Morris  <rgm@gnu.org>
15088         Silence an mh-compat compiler warning
15090         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
15092 2017-05-07  Glenn Morris  <rgm@gnu.org>
15094         Evaluate mh-require when compiling
15096         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
15097         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
15098         Evaluate mh-require when compiling, as require is automatically.
15099         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
15101 2017-05-07  Glenn Morris  <rgm@gnu.org>
15103         Remove obsolete method of changing byte-compile-dest-file
15105         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
15106         Define unconditionally.
15108 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15110         New var write-region-verbose, default nil
15112         By popular demand, write-region char counts are now off by default
15113         (Bug#26796).
15114         * src/fileio.c (write-region-verbose): New Lisp var.
15115         (write_region): Output char count only if the var is non-nil.
15116         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
15118 2017-05-07  Glenn Morris  <rgm@gnu.org>
15120         Write autoloads file atomically
15122         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
15123         New function, to save buffer atomically.
15124         (autoload-save-buffers, update-directory-autoloads):
15125         Use autoload--save-buffer.
15126         * lisp/Makefile.in ($(lisp)/loaddefs.el):
15127         No longer write to a temp file by hand.
15129 2017-05-07  Glenn Morris  <rgm@gnu.org>
15131         Write autoloads file once only
15133         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
15134         Simplify.  Don't bother about ensuring the output file exists.
15135         (autoload-generated-file): Add doc.
15136         (autoload-ensure-writable): Update doc.
15137         (autoload-ensure-file-writeable): Handle non-existing file.
15138         (autoload-ensure-default-file): Remove function.
15140 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15142         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
15144         * src/.gdbinit (Lisp_Object_Printer.to_string):
15145         Explicitly convert integer val to 'int', so that
15146         older GDBs do not complain about the conversion.
15147         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
15148         Give the struct a tag, so that older GDB pretty-printers have a
15149         tag to hang their hat on.
15151 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15153         Pretty-print const Lisp_Objects in .gdbinit
15155         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
15156         Compare unqualified type to Lisp_Object, to do the right thing
15157         when the expression has type ‘Lisp_Object const’.
15158         Problem reported by Eli Zaretskii in:
15159         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
15161 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15163         Pacify GCC setjmp/longjmp warning
15165         * src/eval.c (internal_lisp_condition_case): Do not modify local
15166         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
15167         cases mistakenly diagnoses VAR possibly being modified between a
15168         setjmp and a longjmp.
15170 2017-05-06  Philipp  <phst@google.com>
15172         Fix bootstrap build of files.el
15174         * lisp/files.el (file-name-non-special): Don't use cl-letf.
15176 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
15178         Fix last change for MS-Windows
15180         * test/src/emacs-module-tests.el (module-function-object): Port to
15181         MS-Windows.
15183 2017-05-06  Philipp Stephani  <phst@google.com>
15185         Introduce new misc type for module function
15187         This resolves a couple of FIXMEs in emacs-module.c.
15189         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
15191         * src/alloc.c (make_module_function): New function.
15192         (mark_object): GC support.
15194         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
15196         * src/print.c (print_object): Print support for new type.
15198         * src/emacs-module.c (module_make_function, Finternal_module_call):
15199         Use new module function type, remove FIXMEs.
15200         (module_format_fun_env): Adapt and give it external linkage.
15202         * test/src/emacs-module-tests.el (module-function-object): Add unit
15203         test.
15205 2017-05-06  Philipp Stephani  <phst@google.com>
15207         Fix quoted files for 'verify-visited-file-modtime'
15209         Fixes Bug#25951.
15211         * lisp/files.el (file-name-non-special): Set the file name for the
15212         correct buffer.
15214         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
15215         Add unit test.
15216         (files-tests--with-advice, files-tests--with-temp-file): New helper
15217         macros.
15219 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
15221         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
15223 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
15225         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
15227         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
15228         ENABLE_CHECKING is defined.
15229         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
15230         instead of being defined.
15232 2017-05-06  Tom Tromey  <tom@tromey.com>
15234         Fix erc-join with channel password
15236         Bug#25349
15237         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
15238         server names.
15239         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
15240         Likewise.
15241         (erc-server-join-channel): Move to erc.el.
15242         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
15243         (erc-cmd-JOIN): Use erc-server-join-channel.
15245 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
15247         Ensure the created temp file in a test is new
15249         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
15250         to create the temp file.
15252 2017-05-06  Glenn Morris  <rgm@gnu.org>
15254         Decruftify dns-mode.el a little bit
15256         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
15257         New constant.
15258         (dns-mode-control-entity, dns-mode-bad-control-entity)
15259         (dns-mode-type, dns-mode-class): New faces.
15260         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
15261         (dns-mode-type-face, dns-mode-class): Make these variables use the
15262         new faces, and mark as obsolete.
15263         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
15265 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15267         Pretty-print Lisp_Object values in GDB
15269         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
15270         GDB displays them as "XIL(0xXXX)" rather than displaying them
15271         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
15272         otherwise.
15274 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
15276         Tweak dns-mode font-lock
15278         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
15279         Highlight $TTL as a control entity.  (Bug#26780)
15281 2017-05-05  Glenn Morris  <rgm@gnu.org>
15283         Fontify the doc-string in some CL forms as such
15285         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
15286         Add the doc-string-elt property.  (Bug#26778)
15288 2017-05-05  Glenn Morris  <rgm@gnu.org>
15290         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
15292 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
15294         cl-defmethod: Make the edebug spec more technically correct
15296         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
15297         edebug spec part for qualifiers as [&rest atom], per
15298         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
15300 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
15302         Fix MH-E not to load cl at runtime (Bug#25552)
15304         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
15305         compile time, whether the target is bound.
15306         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
15307         mh-acros at compile time.
15308         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
15309         <npostavs@users.sourceforge.net>
15311 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
15313         Multiline support in NS "Open Selected File" service.
15315         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
15316         original call in a (split-string) to create as many calls as there
15317         are lines.
15318         (ns-spi-service-call): Call `ns-open-file-service' instead of
15319         `dnd-open-file'.
15321 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
15323         Require cl-lib at runtime in vc-hg
15325         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
15327 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
15329         Inherit incompatible/obsolete package faces from error
15331         Don't use the same face for installed packages as for incompatible
15332         or obsolete ones.
15333         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
15335 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
15337         Set process property `adjust-window-size-function' to `ignore' in Tramp
15339         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
15340         (tramp-adb-maybe-open-connection):
15341         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
15342         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
15343         (tramp-maybe-open-connection):
15344         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
15345         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
15346         (tramp-smb-maybe-open-connection): Set process property
15347         `adjust-window-size-function' to `ignore'.
15349 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
15351         * lisp/emacs-lisp/seq.el: Bump seq version.
15353 2017-05-04  Damien Cassou  <damien@cassou.me>
15355         Add seq-set-equal-p to test for set equality
15357         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
15358           two lists as if they were sets.
15360         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
15361           for seq-set-equal-p.
15363 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
15365         Spelling fixes
15367         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
15368         Rename from nndiary-last-occurence.
15369         (nndiary-next-occurrence):
15370         Rename from nndiary-next-occurence.  All uses changed.
15372 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
15374         Merge from pkg-config
15376         * m4/pkg.m4: Copy from pkg-config 0.29.1.
15378 2017-05-04  Tom Tromey  <tom@tromey.com>
15380         Add color highlighting to css-mode
15382         Bug#25525
15383         * lisp/textmodes/css-mode.el (css--color-map): New constant.
15384         (css-value-class-alist): Use css--color-map.
15385         (css--number-regexp, css--percent-regexp)
15386         (css--number-or-percent-regexp, css--angle-regexp): New constants.
15387         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
15388         functions.
15389         (css--colors-regexp): New constant.
15390         (css--hex-color, css--named-color, css--compute-color)
15391         (css--contrasty-color, css--fontify-colors)
15392         (css--fontify-region): New functions.
15393         (css-mode): Set font-lock-fontify-region-function.
15394         (css-mode-syntax-table): Set syntax on more characters.
15395         (css-fontify-colors): New defcustom.
15396         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
15397         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
15398         Update.
15399         (css-test-rgb-parser, css-test-hsl-parser)
15400         (css-test-named-color): New tests.
15401         * etc/NEWS: Add entry.
15403 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
15405         Fix Bug#26763
15407         * lisp/files.el (delete-directory): Call file name handler
15408         with `trash' argument.
15410         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
15411         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
15412         Add TRASH arg.  Implement it.  (Bug#26763)
15413         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
15415         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
15416         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
15417         Add _TRASH arg.
15419 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15421         Use ptrdiff_t, not int, for stack sizes
15423         * src/thread.c (invoke_thread_function):
15424         * src/xterm.c (x_cr_export_frames):
15425         Don’t assume SPECPDL_INDEX fits in ‘int’.
15427 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15429         Check list object type if --enable-gcc-warnings
15431         * configure.ac (--enable-check-lisp-object-type):
15432         Default to "yes" if --enable-gcc-warnings is not "no".
15433         * etc/NEWS: Mention this.
15434         * src/eval.c (internal_lisp_condition_case): Fix some glitches
15435         with 'volatile' uncovered by the above: in particular, 'clauses'
15436         should be a pointer to volatile storage on the stack, and need not
15437         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
15438         Don’t bother gathering binding count if VAR is nil.  Use
15439         more-specific local names to try to clarify what’s going on.
15441 2017-05-02  Glenn Morris  <rgm@gnu.org>
15443         Tweak auth-source-pass.el to avoid run-time subr-x
15445         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
15446         Avoid needing subr-x at run-time.
15448 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
15450         Constrain non-child frames to screen area in OS X
15452         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
15453         frames in OS X, if they would otherwise go offscreen.
15455         (Bug#25818)
15457 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
15459         Fix error in completion for separate Tramp syntax
15461         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
15462         Tweak regexp.
15464         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
15465         Run method and host name completion for all syntaxes.
15467 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
15469         Avoid compilation warnings
15471         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
15472         * src/w32term.c (x_draw_glyph_string):
15473         * src/w32fns.c (compute_tip_xy):
15474         * src/w32font.c (w32font_text_extents):
15475         * src/w32menu.c (set_frame_menubar):
15476         * src/search.c (Freplace_match): Avoid compiler warnings in
15477         optimized builds.
15479 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15481         Merge from gnulib
15483         This incorporates:
15484         2017-05-02 utimens: port to Emacs + MS-Windows
15485         * lib/utimens.c: Copy from gnulib.
15487 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
15489         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
15491         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
15492         to make Edebug generate a new symbol for each method (Bug#24753) and
15493         to support a string following :extra (Bug#23995).
15494         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
15495         make Edebug generate a new symbol for each method (Bug#24753).
15497 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
15499         Temporary fix for the MS_Windows build
15501         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
15502         to be consistent with Gnulib's utimens.c.  This is because utimens.c
15503         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
15504         previous definition here conflicted with that.
15506 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15508         Port format-time-string to MS-Windows better
15510         * test/src/editfns-tests.el (format-time-string-with-zone):
15511         Port test cases to MS-Windows.
15513 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15515         Merge from gnulib
15517         This incorporates:
15518         2017-05-01 New module 'localtime-buffer'
15519         2017-04-30 utimens: Add support for native Windows
15520         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
15521         * configure.ac (tzset): No need for Emacs itself to check now.
15522         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
15523         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
15524         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15525         * lib/localtime-buffer.c, lib/localtime-buffer.h:
15526         * m4/localtime-buffer.m4: New files, copied from gnulib.
15527         * src/editfns.c (init_editfns): Assume tzset is callable.
15529 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15531         Speed up project-find-regexp for simple regexps
15533         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
15534         New function.
15535         (xref--collect-matches): Use it.  Don't try to enable the
15536         appropriate major mode and file-local variables if the regexp
15537         does not depend on the buffer's syntax (bug#26710).
15538         (xref--collect-matches-1): Don't syntax-propertize in that
15539         case either.
15541 2017-05-01  Philipp Stephani  <phst@google.com>
15543         Warn about missing backslashes during load
15545         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
15546         (syms_of_lread): Warn if unescaped character literals are
15547         found (Bug#20152).
15548         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
15549         unescaped character literals during byte compilation.
15550         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
15551         unit test.
15552         (lread-tests--with-temp-file, lread-tests--last-message): Helper
15553         functions for unit test.
15554         * test/lisp/emacs-lisp/bytecomp-tests.el
15555         (bytecomp-tests--unescaped-char-literals): New unit test.
15556         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
15557         Helper macro for unit test.
15559 2017-05-01  Ken Brown  <kbrown@cornell.edu>
15561         * configure.ac: Suggest Mailutils on Cygwin.
15563 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15565         Don’t stress-test time zones near the Epoch
15567         * test/src/editfns-tests.el (format-time-string-with-zone)
15568         (format-time-string-with-outlandish-zone): Don’t format
15569         timestamps near the Epoch, as this runs into bugs on MS-Windows,
15570         and we don’t want to worry about those bugs.
15572 2017-05-01  Glenn Morris  <rgm@gnu.org>
15574         Tweak vc-tests.el for bzr
15576         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
15577         Handle test environments where HOME does not exist.
15579 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15581         vc-git-state: Return `ignored' as appropriate with newer Git
15583         * lisp/vc/vc-git.el
15584         (vc-git--program-version): New variable.
15585         (vc-git--program-version): New function.
15586         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
15588 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15590         vc-git-state: Bring back CentOS 6 compatibility
15592         * lisp/vc/vc-git.el (vc-git-state):
15593         Bring back CentOS 6 compatibility (bug#19343).
15595 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
15597         Rewrite w32fns.c's `x_set_menu_bar_lines'
15599         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
15600         regardless of whether menu bar is added or removed.  Clear
15601         under internal border iff a W32 window exists.  Store either 0
15602         or 1 as new parameter value.
15603         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
15604         FRAME_X_WINDOW.
15606 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
15608         Fix filenotify-tests.el for cygwin
15610         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
15611         Add an additional `sit-for'.
15612         (file-notify-test02-rm-watch): Add an additional
15613         `file-notify--test-read-event' call.
15615 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
15617         Speed up vc-git-status and make it more precise
15619         * lisp/vc/vc-git.el (vc-git-state)
15620         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
15621         'git status', so that 'vc-git-state' can now return 'ignored',
15622         'conflict', or 'unregistered' when appropriate.  Discussed in
15623         bug#26066.  Fixes bug#19343.
15625 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15627         Fix Git revision navigation in currently removed directories
15629         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
15630         default-directory because FILE's parent directory might not exist
15631         anymore (bug#26345).
15633 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15635         Merge from gnulib
15637         This incorporates:
15638         2017-04-30 strftime-fixes: New module
15639         2017-04-30 mktime: Work around TZ problem on native Windows
15640         2017-04-30 ctime, localtime: New modules
15641         2017-04-30 gettimeofday: Provide higher resolution on native Windows
15642         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
15643         2017-04-29 Make use of module 'utime-h'
15644         2017-04-30 Fix a few typos
15645         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
15646         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
15647         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
15648         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
15649         Copy from gnulib.
15650         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15652 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
15654         Don't lose key bindings on mis-spelled text in flyspell-mode
15656         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
15657         explicitly.
15658         (make-flyspell-overlay): If the mis-spelled text already has a
15659         'keymap' property, make that keymap the parent of
15660         flyspell-mouse-map, so as not to lose the parent's bindings.
15661         (Bug#26672)
15663 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
15665         Fix `delete-frame' behavior including Bug#26682
15667         * src/frame.c (other_frames): Accept two arguments now.  Don't
15668         care about minibuffer window.  Don't care about visibility when
15669         called from delete_frame with FORCE true (Bug#26682).
15670         (delete_frame, Fmake_frame_invisible): Adjust other_frames
15671         calls.
15672         * src/w32term.c (w32_read_socket): Don't add a move frame event
15673         for an invisible frame.
15674         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
15675         attempting to delete a surrogate minibuffer frame.
15677 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15679         Merge from gnulib
15681         This avoids incorporating the following, which I suspect are
15682         more trouble for Emacs than they’re worth:
15683         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
15684         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
15685         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15686         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
15688 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15690         Fix buffer overflow in make-docfile
15692         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
15693         overflow when reading an identifier.  Use a static buffer for NAME
15694         rather than a small dynamically-allocated buffer.
15696 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15698         Merge from gnulib
15700         This incorporates:
15701         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
15702         * lib/getopt-pfx-ext.h: Copy from gnulib.
15703         * lib/gnulib.mk.in: Regenerate.
15705 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
15707         Fix dependency error during bootstrap
15709         * lisp/files.el: Require pcase and easy-mmode at compile time.
15711 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
15713         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
15715 2017-04-29  Philipp Stephani  <phst@google.com>
15717         Reimplement auto-saving to visited files
15719         This reacts to confusing behavior of 'auto-save-visited-file-name',
15720         cf. Bug#25478.
15722         * lisp/files.el (auto-save-visited-interval): New customization option.
15723         (auto-save-visited-mode): New global minor mode.
15724         (auto-save-visited-file-name): Make obsolete.
15725         (auto-save--timer): New internal helper variable.
15727         * doc/emacs/files.texi (Auto Save Files): Document
15728         'auto-save-visited-mode' instead of obsolete
15729         'auto-save-visited-file-name'.
15730         (Auto Save Control): Document customization option
15731         'auto-save-visited-interval'.
15733 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
15735         Allow bypassing of some checks when merging
15737         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
15739 2017-04-29  Philipp Stephani  <phst@google.com>
15741         Integrate module test with normal test suite
15743         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
15744         configured.
15745         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
15746         correctly even if Emacs changes the current directory.
15747         ($(srcdir)/src/emacs-module-tests.log)
15748         ($(test_module)): Proper dependency tracking for test module.
15750         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
15751         Remove 'check' target and EMACS variable, which are no longer
15752         necessary.
15753         (SO): Change to include period.
15755         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
15756         environment variable to reliably find test data.
15758         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
15759         substitutions.
15761 2017-04-28  Glenn Morris  <rgm@gnu.org>
15763         Broaden comint-password-prompt-regexp
15765         * lisp/comint.el (comint-password-prompt-regexp):
15766         Broaden the regexp, for non-English locales.  (Bug#26698)
15768 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15770         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
15772 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
15774         Don't pass the value of point to 'push-mark', as that's the default.
15776         * lisp/textmodes/bib-mode.el (mark-bib):
15777         * lisp/simple.el (mark-whole-buffer, yank):
15778         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
15779         * lisp/progmodes/xscheme.el (xscheme-yank):
15780         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
15781         * lisp/progmodes/perl-mode.el (perl-mark-function):
15782         * lisp/progmodes/pascal.el (pascal-mark-defun):
15783         * lisp/progmodes/meta-mode.el (meta-mark-defun):
15784         * lisp/progmodes/icon.el (mark-icon-function):
15785         * lisp/progmodes/cc-cmds.el (c-mark-function):
15786         * lisp/obsolete/vip.el (ex-goto):
15787         * lisp/obsolete/vi.el (vi-put-before):
15788         * lisp/mouse.el (mouse-yank-primary):
15789         * lisp/menu-bar.el (menu-bar-select-yank):
15790         * lisp/mail/sendmail.el (mail-yank-original):
15791         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
15792         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
15793         (viper-mark-end-of-buffer):
15794         * lisp/cedet/semantic/senator.el (senator-mark-defun):
15795         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
15796         `(point)' from calls to `push-mark'.  (Bug#25565)
15798 2017-04-28  Glenn Morris  <rgm@gnu.org>
15800         Merge from origin/emacs-25
15802         784602b1050 (origin/emacs-25) ; Add release notice
15803         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
15804         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
15805         2b0d1118199 ; CONTRIBUTE: Remove stray header.
15806         f2ab09ec60d Fix a typo in indexing the user manual
15807         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
15808         a6d50401b4b Document 'line-pixel-height'
15809         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
15810         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
15811         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
15812         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
15813         84938d79698 default-directory: Remark that it must be a directory name
15814         3f0d047d2eb Delete confuse statement in manual
15815         ee1bd94dd0c Improve packaging documentation
15816         fb18bff91f0 Expand manual section on quitting windows
15817         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
15818         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
15819         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
15820         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
15821         e0e9db4c84a ; Spelling fix
15823         # Conflicts:
15824         #       README
15825         #       etc/AUTHORS
15826         #       etc/HISTORY
15827         #       lisp/ldefs-boot.el
15829 2017-04-28  Glenn Morris  <rgm@gnu.org>
15831         * doc/misc/auth.texi: Commas don't work in node names.
15833         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
15835 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
15837         Test format-time-string with zone arg
15839         * test/src/editfns-tests.el (format-time-string-with-zone)
15840         (format-time-string-with-outlandish-zone): New tests.
15842 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
15844         Merge from gnulib
15846         This incorporates:
15847         2017-04-24 time_rz: fix heap buffer overflow vulnerability
15848         2017-04-23 stat-time: Update comments.
15849         2017-04-22 ftoastr: cite a newer paper
15850         2017-04-21 gettext-h: Avoid -Wundef warning.
15851         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
15852         * m4/getopt.m4: Copy from gnulib.
15853         * m4/gnulib-comp.m4: Regenerate.
15855 2017-04-27  Damien Cassou  <damien@cassou.me>
15857         auth-source-pass: Add documentation; fix tests and indentation.
15859         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
15860           instead of @enumerate.
15861         * lisp/auth-source-pass.el: Fix indentation.
15862           (auth-source-pass--remove-directory-name): Remove.
15863         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
15865 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
15867         auth-source-pass: Enable finding entries by "host/username"
15869         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
15870         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
15872 2017-04-27  Damien Cassou  <damien@cassou.me>
15874         Integrate auth-source with password-store
15876         * lisp/auth-source-pass.el: auth-source backend for password-store.
15877         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
15878           behavior.
15880 2017-04-27  Damien Cassou  <damien@cassou.me>
15882         * lisp/auth-source.el: Document parser functions.
15884 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
15886         auth-source: factor out parsers and add tests
15888         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
15889         * test/lisp/auth-source-tests.el: Add tests.
15891 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
15893         Fix doc and customization type of `window-combination-limit' (Bug#26673)
15895         * src/window.c (Vwindow_combination_limit): Fix doc-string.
15896         * lisp/cus-start.el (window-combination-limit): Fix
15897         customization type.
15898         * doc/lispref/windows.texi (Recombining Windows): Fix
15899         documentation of `window-combination-limit'.
15901 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
15903         Drop face from hi-lock--unused-faces only when used
15905         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
15906         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
15907         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
15909 2017-04-26  Alan Third  <alan@idiocy.org>
15911         Fix macOS version check (bug#26664)
15913         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
15914         macOS versions 10.12+.
15916 2017-04-26  Glenn Morris  <rgm@gnu.org>
15918         Make charprop.el provide a feature
15920         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
15921         Provide a feature.
15922         * lisp/loadup.el: Use the charprop feature.
15924 2017-04-26  Glenn Morris  <rgm@gnu.org>
15926         * lisp/loadup.el: Get charprop.el into etc/DOC again.
15928 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
15930         * lisp/ido.el (ido-everywhere): Use add-function.
15932 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
15934         Try to fix latest fix of w32_mouse_position
15936         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
15937         latest fix and try to make the affected code more rigorous.
15939 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
15941         Avoid segfaults when 'find-font' is invoked for a TTY frame
15943         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
15944         text-mode frame.  (Bug#26646)
15946 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
15948         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
15950         New defun.
15952 2017-04-26  Glenn Morris  <rgm@gnu.org>
15954         * src/Makefile.in (leimdir): Remove variable, no longer used.
15956 2017-04-26  Glenn Morris  <rgm@gnu.org>
15958         Generate leim-list via lisp/Makefile, not src/Makefile
15960         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
15961         (emacs$(EXEEXT)): Don't depend on leim-list.
15962         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
15964 2017-04-25  Alan Third  <alan@idiocy.org>
15966         Fix define for GNUstep builds
15968         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
15969         doesn't see the code.
15971 2017-04-25  Glenn Morris  <rgm@gnu.org>
15973         Suppress intermittent test failure on hydra
15975         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
15976         (eieio-test-method-order-list-6): Skip on hydra.
15978 2017-04-25  Alan Third  <alan@idiocy.org>
15980         Fix some NS frame handling issues
15982         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
15983         defines intended to make things tidier.
15984         (x_set_undecorated): Use the new defines.
15985         (windowWillResize): Don't use new macOS 12+ only feature.
15986         (initFrameFromEmacs): Use the new defines, and disable automatic
15987         window tabbing feature in macOS 12.
15988         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
15989         x_set_z_group): Add NSTRACE notices.
15991 2017-04-25  Glenn Morris  <rgm@gnu.org>
15993         Avoid parallel race condition
15995         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
15997 2017-04-25  Glenn Morris  <rgm@gnu.org>
15999         Generate each unicode lisp file independently
16001         This is better for parallel builds, eg it eliminates race
16002         conditions from having one process write multiple files.
16003         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
16004         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
16005         (all): Explicitly list the output lisp files.
16006         (PHONY_EXTRAS): Remove.
16007         (${unidir}/charprop.el): Change rule to just be for this file.
16008         (${unifiles}): New rule to write each unicode lisp file.
16009         (extraclean): Simplify.
16010         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
16011         Quieten in batch mode.
16012         (unidata-gen-files): Remove, no longer used.
16013         * lisp/loadup.el: Update command-line parser.
16015 2017-04-25  Glenn Morris  <rgm@gnu.org>
16017         Further refactoring in unidata-gen.el
16019         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
16020         New function, split from unidata-gen-files.
16021         (unidata-gen-files): Use unidata-gen-charprop.
16023 2017-04-25  Glenn Morris  <rgm@gnu.org>
16025         Allow unidata-gen-file to work independently
16027         * admin/unidata/unidata-gen.el (unidata-gen-file):
16028         Make it work as a stand-alone function in batch mode.
16029         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
16031 2017-04-25  Glenn Morris  <rgm@gnu.org>
16033         Preparatory refactoring in unidata-gen.el
16035         * admin/unidata/unidata-gen.el (unidata-gen-file):
16036         New function, split from unidata-gen-files.
16037         (unidata-gen-files): Use unidata-gen-file.
16039 2017-04-25  Glenn Morris  <rgm@gnu.org>
16041         Write each generated character property lisp file only once
16043         * admin/unidata/unidata-gen.el (unidata-file-alist):
16044         Rename from unidata-prop-alist.  All users changed.
16045         Use file name rather than property name as the key.
16046         (unidata-prop-prop): New function.
16047         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
16048         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
16049         Change to parse the argument rather than unidata-prop-alist.
16050         (unidata-gen-table-character, unidata-gen-table)
16051         (unidata-gen-table-symbol, unidata-gen-table-integer)
16052         (unidata-gen-table-numeric, unidata-gen-table-word-list)
16053         (unidata-gen-table-name, unidata-gen-table-decomposition)
16054         (unidata-gen-table-special-casing): Pass index as an argument.
16055         (unidata-check): Adapt to unidata-file-alist.
16056         Pass index to generator functions.
16057         (unidata-gen-files): Adapt to unidata-file-alist.
16058         Write each output file once only.  Overwrite rather than delete.
16060 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
16062         Fix requesting sparse articles in gnus
16064         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
16065         sparse article number from the list, not its id.
16067 2017-04-25  Glenn Morris  <rgm@gnu.org>
16069         Don't advertise s_client in tls.el docs
16071         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
16072         Don't mention s_client in docs.
16074 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
16076         Remove s_client usage from tls.el
16078         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
16079         Ref http://bugs.debian.org/766397
16080         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
16082 2017-04-25  Glenn Morris  <rgm@gnu.org>
16084         Further robustify cedet bootstrap to loaddefs not yet built
16086         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
16087         Avoid void-function error when bootstrapping and semantic/loaddefs.el
16088         does not yet exist.
16090 2017-04-24  Alan Third  <alan@idiocy.org>
16092         Fix XBM colour rendering in NS port (bug#22060)
16094         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
16096 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
16098         Add support for IRCv3 message tags.
16100         * lisp/erc/erc-backend.el:
16101           erc-response: Add `tags' element.
16102           Add (erc-parse-tags).
16103           (erc-parse-server-response): Use (erc-parse-tags) to parse message
16104           tags (if any), and store them in `erc-resopnse' struct.
16106         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
16107           properties of the corresponding message line.
16109 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
16111         Add image sizing tests for an image that's narrow
16113         Needlessly refactor tests for clarity
16115 2017-04-23  Philipp Stephani  <phst@google.com>
16117         Add missing remappings for Ido mode
16119         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
16121         * lisp/ido.el (ido-mode): Remap missing commands.
16122         (ido-file-internal, ido-visit-buffer): Add support for new
16123         methods.
16124         (ido-display-buffer-other-frame)
16125         (ido-find-alternate-file-other-window, ido-dired-other-window)
16126         (ido-dired-other-frame): New commands.
16128         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
16129         test for the bindings.
16131 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
16133         Let w32_mouse_position pick a child window only if it has a child frame
16135         * src/w32term.c (w32_mouse_position): When using a frame found
16136         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
16137         maybe).
16139 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
16141         Don't require bytecomp for running ert tests
16143         "Fix ert-tests when running compiled" 2016-12-06 accidentally
16144         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
16145         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
16146         on bytecomp was masked by loading other libraries until recently.
16148         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
16149         `byte-compile-macro-environment' if it's bound.
16150         * test/src/eval-tests.el: Add defvar for dynamic variable
16151         `byte-compile-debug'.
16153 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
16155         Eliminate unneeded warp-to-article in gnus article referral
16157         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
16158         (gnus-summary-refer-article): Remove gnus-warp-to article call.
16160 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
16162         Allow limiting gnus summary buffers to a thread
16164         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
16165         an optional argument to allow limiting the summary buffer to just the
16166         thread-related articles.
16167         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
16168         to control whether thread-referral adds the thread to the summary
16169         buffer or limits to just the thread.
16170         (gnus-summary-refer-thread): Use the new variable.
16172 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
16174         Correct gnus-newsgroup-limits in gnus when including thread
16176         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
16177         only add one list of thread-related articles to gnus-newsgroup-limits
16178         rather than two.
16180 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
16182         Improve gnus thread matching of similar subjects
16184         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
16185         Use the more liberal gnus-general-simplify-subject regexp to
16186         find thread articles with similar subjects.
16188 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
16190         Add new `lisp-indent-region' that doesn't reparse the code.
16192         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
16193         to get initial state, so they will no longer indent string literal
16194         contents.
16196         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
16197         `syntax-ppss', but with a more dependable item 2.
16198         (lisp-indent-region): New function, like `indent-region-line-by-line'
16199         but additionally keep a running parse state to avoid reparsing the
16200         code repeatedly.  Use `lisp-ppss' to get initial state.
16201         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
16202         `calculate-lisp-indent', use `lisp-ppss' if not given.
16203         (lisp-mode-variables): Set `indent-region-function' to
16204         `lisp-indent-region'.
16206 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
16208         Remove ignored argument from lisp-indent-line
16210         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
16211         argument, the behavior has long since been handled in
16212         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
16213         variables and use `indent-line-to'.
16215 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
16217         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
16219 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
16221         Don't reparse the sexp in indent-sexp (Bug#25122)
16223         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
16224         PARSE-START be a parse state that can be reused.
16225         (indent-sexp): Pass the running parse state to calculate-lisp-indent
16226         instead of the sexp beginning position.  Saving the
16227         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
16228         needed.  Don't bother stopping if we don't descend below init-depth,
16229         since we now alway scan the whole buffer (via syntax-ppss) anyway.
16230         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
16231         line to test case.
16233 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
16235         Add cond test cases for singleton clauses.
16237         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
16238           the default clause is a single non-nil expression.
16240 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
16242         b-c--cond-jump-table-info: Use correct body for singleton clauses
16244         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
16245         When a clause's body consists of a single constant expression, use
16246         that expression as the body to be compiled. This fixes switch bytecode
16247         evaluating to nil to such clauses.
16249 2017-04-22  Philipp Stephani  <phst@google.com>
16251         ffap: Don't switch window unless needed
16253         When using ffap-other-window, don't change the window configuration
16254         unless a new buffer has actually been created (Bug#25352).
16256         * lisp/ffap.el (ffap-other-frame): Don't change the window
16257         configuration if no new buffer has been created.
16258         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
16259         test.
16261 2017-04-22  Alan Mackenzie  <acm@muc.de>
16263         Fix fontification of C++ declaration with type FOO::FOO.
16265         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
16266         cfd-top-level properly.
16267         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
16268         before deciding it is a constructor.
16270         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
16271         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
16272         (simple bug fix).
16274 2017-04-22  Philipp Stephani  <phst@google.com>
16276         Fix usage of FRAME_Z_GROUP
16278         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
16279         Lisp object, cf. Bug#26597.
16281 2017-04-22  Alan Third  <alan@idiocy.org>
16283         Fix GNUstep build
16285         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
16286         compatibility.
16287         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
16289 2017-04-21  Alan Third  <alan@idiocy.org>
16291         Add no-accept-focus and frame-list-z-order to NS port
16293         * lisp/frame.el (frame-list-z-order): Add NS.
16294         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
16295         (Fx_create_frame): Handle no-accept-focus parameter.
16296         (ns_window_is_ancestor):
16297         (Fns_frame_list_z_order): New functions.
16298         * src/nsterm.m (x_set_no_accept_focus): New function.
16299         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
16300         non-fullscreen windows.
16301         (EmacsWindow:canBecomeKeyWindow): New function.
16303 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16305         Improve prefix handling for dash.el
16307         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
16308         Don't drop dash's "-<letter>" prefixes.
16310 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16312         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
16314         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
16315         and use a different fix for bug#26068.
16316         (cl--symbol-macro-key): New function.
16317         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
16318         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
16319         Failure is not expected any more.
16321 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
16323         Avoid infinite loop in redisplay when header-line-format is invalid
16325         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
16326         string has an invalid %-construct in it and is displayed as part
16327         of mode-line or header-line.  (Bug#26586)
16329 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
16331         Add tests to check image scaling functionality
16333         This is in preparation to doing further work in this area to avoid
16334         regressions.
16336         * test/data/image/blank-200x100.png: New file for testing
16337         image scaling.
16339         * test/manual/image-size-tests.el: New file.
16341 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
16343         Allow svg-image to take all create-image PROPS
16345         * lisp/svg.el (svg-image): Allow passing in PROPS when
16346         creating an image for convenience.
16348 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
16350         Treat non-erroring lisp call as successful eshell command (Bug#26161)
16352         This lets a compound command like 'cd .. && echo ok' print 'ok',
16353         similar to how most other shells behave.
16355         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
16356         last exit code was zero, rather than first checking whether the last
16357         command returned nil.
16358         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
16360 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
16362         Fix reading of tab settings in whitespace-mode
16364         lisp/whitespace.el (whitespace-indent-tabs-mode)
16365         whitespace-tab-width): Remove these variables. The underlying
16366         variables `indent-tabs-mode' and `tab-width' are already buffer-local
16367         when needed, and whitespace-mode never changes them.
16368         (whitespace-ensure-local-variables): Remove this function, which only
16369         existed to set the above variables.
16370         (whitespace-cleanup-region, whitespace-regexp)
16371         (whitespace-indentation-regexp, whitespace-report-region)
16372         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
16373         use `indent-tabs-mode' and `tab-width' directly, and not call
16374         `whitespace-ensure-local-variables'.
16376 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16378         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
16380         by simplifying ascii-test.
16382 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
16384         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
16386         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
16387           FORM if the bytecode uses the byte-switch instruction. It is
16388           impossible to guess the correct stack depth while inlining such
16389           bytecode, resulting in faulty code.
16391 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
16393         Set Emacs version to 25.2 and update AUTHORS file
16395         * README: Set Emacs version to 25.2.
16396         * etc/HISTORY: Add release log.
16397         * lisp/ldefs-boot.el:
16398         * etc/AUTHORS:
16399         * ChangeLog.2: Update.
16401 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
16403         Don't register "def" as an autoload prefix (Bug#26412)
16405         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
16406         accept "def" as a prefix.
16408 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16410         Use substring completion for Info menus and index
16412         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
16413         (Info-menu): Simplify now that we use the `default' arg of completing-read.
16414         * lisp/minibuffer.el (completion-category-defaults): Use substring
16415         completion for `info-menu`.
16417 2017-04-19  Glenn Morris  <rgm@gnu.org>
16419         Remove some explicit runtime loads of pcase
16421         Pcase is macros, so these should have used eval-when-compile.
16422         Anyway, pcase entry points are autoloaded, so the compiler handles it.
16423         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
16424         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
16425         * lisp/progmodes/xref.el: No need to require pcase.
16427 2017-04-19  Glenn Morris  <rgm@gnu.org>
16429         Stop cl-lib loading pcase at runtime
16431         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
16432         * lisp/emacs-lisp/autoload.el (make-autoload):
16433         Treat pcase-defmacro like defmacro.
16435 2017-04-19  Alan Third  <alan@idiocy.org>
16437         Note frame documentation exceptions for NS builds
16439         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
16440         NS differences.
16442 2017-04-19  Alan Third  <alan@idiocy.org>
16444         Fix bug introduced by my last commit
16446         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
16448 2017-04-19  Alan Third  <alan@idiocy.org>
16450         Add new frame functionality to NS port
16452         * lisp/frame.el (frame-restack): Call ns-frame-restack.
16453         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
16454         MOVE_FRAME_EVENT handling.
16455         * src/frame.h:
16456         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
16457         definitions.
16458         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
16459         x_set_undecorated (Cocoa only) to handler struct.
16460         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
16461         frame parameter.
16462         (Fns_frame_restack): New function.
16463         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
16464         FRAME_TOOLBAR_HEIGHT is no longer a variable.
16465         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
16466         Add #defines to find the screen position of the parent frame.
16467         (NS_TOP_POS): Remove defun.
16468         (EmacsView): Remove redundant toolbar variables and add createToolbar
16469         method.
16470         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
16471         values instead of storing them in a variable.
16472         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
16473         position into account when positioning frames.
16474         (initFrameFromEmacs): Remove toolbar creation code and handle new
16475         frame parameters.
16476         (x_set_window_size): Remove toolbar height calculation.
16477         (x_set_z_group):
16478         (x_set_parent_frame):
16479         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
16480         (x_destroy_window): Detach parent if child closes.
16481         (updateFrameSize): Change NSTRACE message to reflect new reality and
16482         no longer reset frame size.
16483         (windowWillResize): Don’t change NS window name when the titlebar
16484         is invisible.
16485         (createToolbar): Move toolbar creation code into it’s own method.
16486         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
16487         are no longer variables.
16488         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
16490 2017-04-19  Glenn Morris  <rgm@gnu.org>
16492         Tweak bytecomp's loading of cl-extra
16494         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
16495         post-bootstrap emacs where cl-loaddefs does exist.
16497 2017-04-19  Glenn Morris  <rgm@gnu.org>
16499         Avoid unnecessary loading of subr-x at run-time
16501         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
16502         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
16503         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
16504         No need to load subr-x at run-time.
16505         * lisp/gnus/nnheader.el: No need to load subr-x.
16507 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
16509         Use iteration in math-factorial-iter
16511         * lisp/calc/calc-comb.el (math-factorial-iter):
16512         Use iteration instead of recursion to avoid max-specpdl-size problem.
16514 2017-04-18  Glenn Morris  <rgm@gnu.org>
16516         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
16518 2017-04-18  Glenn Morris  <rgm@gnu.org>
16520         Avoid ert test failures
16522         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
16523         Avoid errors related to undefined byte-compile-macro-environment.
16524         Somehow masked until very recently because loading seq (eg)
16525         loads bytecomp.  http://hydra.nixos.org/build/51730765
16527 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
16529         Fix a typo in indexing the user manual
16531         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
16533 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
16535         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
16537         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
16538         Rename from find-library--from-load-path.  Check for `load-history'
16539         entries with nil FILE-NAMEs.  Simplify by not double
16540         checking for suffixes and making use of `locate-file'.
16542 2017-04-18  Alan Third  <alan@idiocy.org>
16543             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
16545         Use vfork if possible on Darwin (bug#26397)
16548         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
16549         (vfork): Don't define.
16550         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
16551         set, otherwise vfork.
16552         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
16553         the controlling terminal instead of setsid.
16555 2017-04-18  Fran Litterio  <flitterio@gmail.com>
16557         Small erc-kill-channel fix (bug#23700)
16559         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
16561 2017-04-18  Glenn Morris  <rgm@gnu.org>
16563         ediff: use user-error rather than debug-ignored-errors
16565         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
16566         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
16567         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
16568         (ediff-check-version):
16569         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
16570         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
16571         (ediff-append-custom-diff, ediff-meta-show-patch)
16572         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
16573         (ediff-get-meta-info, ediff-patch-file-form-meta):
16574         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
16575         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
16576         (ediff--check-ancestor-exists, ediff-toggle-read-only)
16577         (ediff-toggle-wide-display, ediff-toggle-multiframe)
16578         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
16579         (ediff-next-difference, ediff-previous-difference)
16580         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
16581         (ediff-save-buffer):
16582         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
16583         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
16584         (ediff-directories-internal, ediff-directory-revisions-internal)
16585         (ediff-regions-wordwise, ediff-regions-linewise)
16586         (ediff-load-version-control): Use user-error.
16587         (debug-ignored-errors): No longer modify.
16589 2017-04-18  Glenn Morris  <rgm@gnu.org>
16591         mh-e: use user-error rather than debug-ignored-errors
16593         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
16594         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
16595         (debug-ignored-errors): No longer modify.
16597 2017-04-18  Glenn Morris  <rgm@gnu.org>
16599         ispell.el: use user-error rather than debug-ignored-errors
16601         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
16602         (debug-ignored-errors): No longer modify.
16604 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16606         * src/xterm.c (x_fill_rectangle): Now static.
16608 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16610         Tighten recently-added UTF-8 check
16612         * src/coding.c (encode_coding_utf_8): Now extern.
16613         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
16614         Check for UTF-8, not just for multibyte.
16616 2017-04-17  David Engster  <deng@randomsample.de>
16618         xml: Properly handle symbol-qnames for attribute parsing
16620         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
16621           xml-ns argument (reverts aea67018) (Bug#26533).
16622           (xml-maybe-do-ns): Properly handle default namespace by not
16623           interning new symbol when 'special' flag is set.
16625         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
16626           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
16628 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16630         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
16632 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
16634         Fix assertion violations when displaying thread-related error
16636         * src/process.c (Faccept_process_output): Don't assume a thread's
16637         name is always a string.
16639 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16641         dired ‘M’ should not complain about ‘.’ and ‘..’
16643         * lisp/dired-aux.el (dired-do-redisplay):
16644         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
16646 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16648         Remove unused coding enums
16650         * src/coding.h (enum coding_system_type, enum end_of_line_type):
16651         Remove; unused.
16653 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16655         Work around bug with unibyte Linux consoles
16657         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
16658         the terminal's coding system is unibyte (Bug#26396).
16660 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
16662         Fix org-agenda's command for calendar-lunar-phases
16664         Function org-agenda-phases-of-moon tries to call a non-existing
16665         function calendar-phases-of-moon. The correct function is
16666         calendar-lunar-phases.
16668 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
16670         Tuning for `separate' Tramp syntax
16672         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
16673         (tramp-completion-file-name-regexp-separate): Simplify.
16675         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
16676         Extend test.
16678 2017-04-16  Alan Mackenzie  <acm@muc.de>
16680         Fix bug #26529: C-h k errors with a lambda function bound to a key.
16682         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
16683         `function' is a symbol before trying to get property `reader-construct' from
16684         it.
16686 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
16688         Fix highlighting of short selectors in CSS mode
16690         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
16691         selectors where the part before a colon is only one character long,
16692         such as `a:hover'.
16694 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16696         Fix redisplay performance problems with some fonts
16698         * src/font.c (font_list_entities): Revert part of the changes
16699         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
16700         zero_vector in the font-cache is an important indication that
16701         cannot be removed.  (Bug#21028)
16703 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16705         Add assertion to STRING_SET_CHARS
16707         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
16708         to prevent incorrect usage.  For details, see this discussion:
16709         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
16711 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
16713         Avoid compilation warnings on MS-Windows
16715         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
16716         parentheses around assignment.
16717         * src/w32fns.c (w32_createwindow): Remove unused variable
16718         dwStyle.  Use "|=" where appropriate.
16720 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16722         Merge from gnulib
16724         This incorporates:
16725         2017-04-14 intprops: try to avoid tickling similar bugs
16726         2017-04-14 intprops: port to Oracle Studio 12.3 x86
16727         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
16729 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
16731         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
16733         * lisp/window.el (with-displayed-buffer-window): When a
16734         'window-height' action alist entry specifies a function, call
16735         `temp-buffer-window-show' with a '(window-height . t)' dummy
16736         entry so `window--try-to-split-window' will bind
16737         `window-combination-limit' to t and that function does not
16738         resize any other window but the one we split this one off
16739         (Bug#25055, Bug#25179).
16740         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
16741         we steal space only from windows in the same combination.
16742         Stealing space from other windows would not allow us to return
16743         that space later when this window is deleted (Bug#25055,
16744         Bug#25179).
16746 2017-04-15  Glenn Morris  <rgm@gnu.org>
16748         Avoid userlock queries hanging forever in batch mode
16750         * lisp/userlock.el (ask-user-about-lock)
16751         (ask-user-about-supersession-threat): Abort in batch mode.
16753 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
16755         Fix segfault when calling frame_ancestor_p (Bug#26493)
16757         * src/xterm.c (handle_one_xevent): Check that hf was not reset
16758         before calling frame_ancestor_p (Bug#26493).
16760 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
16762         A few additional copy-edits in documentation of frames
16764         * doc/lispref/frames.texi (Frame Layout)
16765         (Implied Frame Resizing): Windows -> MS-Windows.
16766         (Deleting Frames): Fix typo.
16768 2017-04-14  Glenn Morris  <rgm@gnu.org>
16770         Use user-error for some ert.el errors
16772         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
16773         (ert-results-find-test-at-point-other-window, ert-describe-test):
16774         Use user-error.
16776 2017-04-14  Glenn Morris  <rgm@gnu.org>
16778         Use user-error for customize's "invalid face" error
16780         * lisp/cus-edit.el (customize-face): Use user-error.
16781         (debug-ignored-errors): No more need to add "Invalid face".
16783 2017-04-14  Glenn Morris  <rgm@gnu.org>
16785         Remove duplicate lisp-eval-defun definition
16787         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
16788         Autoload rather than defining a stub.
16790 2017-04-14  Glenn Morris  <rgm@gnu.org>
16792         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
16794 2017-04-14  Glenn Morris  <rgm@gnu.org>
16796         Create generated lisp files before main loaddefs.el
16798         This should improve reproducibility of lisp/loaddefs.el.
16799         * lisp/Makefile.in (gen-lisp): New phony target.
16800         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
16801         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
16802         * lisp/cedet/semantic.el (semantic-mode):
16803         * lisp/cedet/semantic/fw.el (top-level):
16804         * lisp/emacs-lisp/eieio-core.el (top-level):
16805         Robustify to generated input files maybe not yet existing.
16807 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16809         Fix minor quoting issues in Makefile.in
16811         * Makefile.in (install-arch-dep, uninstall):
16812         Quote EMACS and EMACS_NAME more consistently.
16814 2017-04-13  Glenn Morris  <rgm@gnu.org>
16816         * Makefile.in (install-etc): Use existing Makefile variables.
16818 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
16820         Minor copyedits of recent changes in documentation
16822         * doc/lispref/frames.texi (Frame Layout, Frame Position)
16823         (Frame Size, Frame Interaction Parameters, Input Focus)
16824         (Raising and Lowering, Child Frames): Improve wording and indexing.
16825         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
16827 2017-04-13  Glenn Morris  <rgm@gnu.org>
16829         Small src/Makefile simplification
16831         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
16832         ($(lispsource)/term/ns-win.elc): Combine rules.
16834 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
16836         Add grid layout module to CSS property list
16838         * lisp/textmodes/css-mode.el (css-property-alist)
16839         (css-value-class-alist): Add new properties and value classes from CSS
16840         Grid Layout Module.
16842 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
16844         Describe recent frame and window changes in manuals
16846         * doc/emacs/emacs.texi (Top):
16847         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
16848         "outer border" (for the X border which can be set from within
16849         Emacs) and "external border" (for the border which is added by
16850         the window manager).
16851         * doc/lispref/display.texi (Tooltips): Clarify slightly.
16852         * doc/lispref/elisp.texi (Top): Update node and section names.
16853         * doc/lispref/frames.texi (Frames): Describe difference between
16854         top-level and child frames.
16855         (Frame Layout): Describe outer border.  Add more details about
16856         how Emacs obtains the outer size and position of a frame and
16857         about menu bar/tool bar wrapping.  Add references to new frame
16858         parameters.
16859         (Size and Position): Remove subsection.
16860         (Frame Position): New subsection excerpted from the earlier Size
16861         and Position subsection.  Clarify positioning concepts and
16862         some of their shortcomings.  Describe `move-frame-functions'.
16863         (Frame Size): New subsection excerpted from the earlier Size
16864         and Position subsection.  Describe how to track frame size
16865         changes and the new function `frame-size-changed-p'.
16866         (Position Parameters): Describe child frame positioning.  Warn
16867         about negative offsets.  Describe 'z-group' parameter.
16868         (Size Parameters): Describe 'text-pixels' specification
16869         facility and new 'min-width' and 'min-height' parameters.
16870         (Layout Parameters): Clarify description of 'tool-bar-lines' and
16871         'menu-bar-lines' parameters.
16872         (Frame Interaction Parameters): New subsubsection describing
16873         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
16874         'no-other-frame' parameters.
16875         (Management Parameters): Describe 'skip-taskbar',
16876         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
16877         'override-redirect' parameters.
16878         (Deleting Frames): Describe handling of 'delete-before'
16879         parameter and child frames for `delete-frame' and
16880         `delete-other-frames'.
16881         (Finding All Frames): Describe `frame-list-z-order' and handling
16882         of 'no-other-frame' parameter by `next-frame'.
16883         (Minibuffers and Frames): Minor clarifications.
16884         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
16885         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
16886         (Visibility of Frames): Describe mapping and how the visibility
16887         of a parent frame affects that of its child frames.
16888         (Raising and Lowering): Describe restacking of frames and
16889         z-groups.
16890         (Child Frames): New section.
16891         * doc/lispref/windows.texi (Selecting Windows): Describe
16892         additional semantics of NORECORD argument of `select-window' and
16893         how `buffer-list-update-hook' can emulate a "select window
16894         hook".
16895         (Mouse Window Auto-selection): New section.
16897 2017-04-13  Damien Cassou  <damien@cassou.me>
16899         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
16901         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
16902           pairs.
16903         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
16905 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
16907         Avoid unnecessary regeneration of the entire loaddefs.el
16909         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
16910         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
16911         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
16912         loaddefs.tmp before running 'batch-update-autoloads' on it, to
16913         avoid slow regeneration of the full contents.  (Bug#26459)
16914         Use 'move-if-change' instead of 'mv', to avoid producing a new
16915         Emacs binary when not necessary.
16917 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
16919         Handle indentation of nested ternary operators in JS
16921         * lisp/progmodes/js.el (js--looking-at-operator-p):
16922         Handle nested ternary operators.
16924 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
16926         Don't call 'kill-this-buffer' outside of menus
16928         * lisp/simple.el (kill-current-buffer): New function.
16929         (completion-list-mode-map): Use it instead of kill-this-buffer.
16930         * lisp/type-break.el (type-break-mode):
16931         * lisp/term/ns-win.el (global-map):
16932         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
16933         (gdb-disassembly-mode-map, gdb-frames-mode-map)
16934         (gdb-locals-mode-map, gdb-registers-mode-map):
16935         * lisp/org/org-mhe.el (org-mhe-follow-link):
16936         * lisp/net/secrets.el (secrets-mode-map):
16937         * lisp/net/eudc.el (eudc-mode-map):
16938         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
16939         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
16941 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
16943         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
16945 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
16947         New internal-border face and args for select-window and x-focus-frame
16949         Add `internal-border' face and handle it whenever clearing the
16950         internal border.  If NORECORD equals the symbol
16951         'mark-for-redisplay', `select-window' will not record the window
16952         but still mark it for redisplay.  The new argument NOACTIVATE
16953         for `x-focus-frame' tries to not activate FRAME when set.
16955         * lisp/faces.el (internal-border): New face.
16956         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
16957         `mark-for-redisplay'.
16958         * lisp/scroll-bar.el (scroll-bar-drag)
16959         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
16960         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
16961         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
16962         with `mark-for-redisplay'.
16963         * lisp/window.el (handle-select-window): When
16964         `focus-follows-mouse' is not 'auto-raise' try to not activate
16965         FRAME.
16966         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
16967         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
16968         * src/frame.h (x_focus_frame): Update extern declaration.
16969         * src/gtkutil.c (xg_clear_under_internal_border): Remove
16970         function.
16971         (xg_frame_resized, xg_frame_set_char_size): Call
16972         x_clear_under_internal_border.
16973         (xg_tool_bar_callback): Adapt x_focus_frame call.
16974         * src/gtkutil.h (xg_clear_under_internal_border): Remove
16975         declaration.
16976         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
16977         * src/w32fns.c (x_clear_under_internal_border): Fill border
16978         with internal-border background if specified.
16979         * src/w32term.h (x_clear_under_internal_border): Add extern
16980         declaration.
16981         * src/w32term.c (x_after_update_window_line): Fill border
16982         with internal-border background if specified.
16983         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
16984         (x_scroll_bar_clear, w32_read_socket): Call
16985         x_clear_under_internal_border.
16986         (x_focus_frame): New argument NOACTIVATE.
16987         * src/window.c (select_window): Mark WINDOW for redisplay when
16988         NORECORD equals 'mark-for-redisplay'.
16989         (Fselect_window): Update doc-string.
16990         (syms_of_window): Define Qmark_for_redisplay.
16991         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
16992         (redisplay_internal): Call x_clear_under_internal_border.
16993         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
16994         and `internal-border' faces.
16995         (realize_basic_faces): Realize `internal-border' face.
16996         (syms_of_xfaces): Define Qinternal_border.
16997         * src/xfns.c (x_set_internal_border_width): Remove call for
16998         xg_clear_under_internal_border.
16999         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
17000         activate frame.
17001         * src/xterm.c (x_fill_rectangle): No more static.
17002         (x_clear_under_internal_border, x_after_update_window_line):
17003         Fill border with internal-border background if specified.
17004         (xt_horizontal_action_hook): Rewrite.
17005         (handle_one_xevent): Call x_clear_under_internal_border.
17006         * src/xterm.h (x_fill_rectangle): Add extern declaration.
17008 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
17010         Port recent frame changes to --enable-gcc-warnings
17012         * src/frame.c (next_frame, prev_frame):
17013         Remove now-redundant assertions.
17014         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
17016 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
17018         Scroll right and left using wheel-right and wheel-left.
17020         These changes also make use of touchpad and trackpad (Bug#26347).
17022         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
17023         scrolling using the mouse wheel.
17025         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
17026         (mwheel-tilt-scroll-p, mwheel-flip-direction)
17027         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
17028         defcustoms.
17029         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
17030         events that calls wheel-left/right.
17032         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
17034 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
17036         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
17038 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
17040         Add new frame parameters and associated functions
17042         Add new frame parameters `undecorated', `override-redirect',
17043         `parent-frame', `skip-taskbar', `no-focus-on-map',
17044         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
17045         `mouse-wheel-frame', `min-width', `min-height'.  Add new
17046         functions `frame-restack' and `frame-list-z-order'.
17048         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
17049         type.
17050         * lisp/frame.el (handle-delete-frame): Handle child and
17051         `delete-before' frames.
17052         (other-frame): Stop looking for other frame after one round.
17053         (frame-list-z-order, frame-restack): New functions.
17054         (delete-other-frames): Handle child frames.
17055         * lisp/frameset.el (frameset-persistent-filter-alist)
17056         (frameset--record-relationships): Handle `delete-before',
17057         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
17058         latter from `frameset--record-minibuffer-relationships'.
17059         (frameset--restore-frame): Handle ‘parent-frame’ parameter
17060         specially.
17061         (frameset-restore): Handle `delete-before', `parent-frame' and
17062         `mouse-wheel-frame' parameters.
17063         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
17064         parameter.
17065         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
17066         (mouse-autoselect-window-select, handle-select-window): Major
17067         rewrite.  Try to not ignore errors.  Handle auto-selection of
17068         child frames and different values of `focus-follows-mouse'.
17069         * src/frame.c (frame_windows_min_size): Handle new `min-width'
17070         and `min-height' frame parameters.
17071         (make_frame): Initialize new frame structure members.
17072         (do_switch_frame): Don't reset internal_last_event_frame for
17073         descendant frames.
17074         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
17075         functions.
17076         (candidate_frame): Don't return `no-other-frame' frame.
17077         (other_frames): New function replacing other_visible_frames.
17078         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
17079         (Fmake_frame_invisible): Call other_frames.
17080         (store_frame_param): Check `delete-before' and `parent-frame'
17081         parameters for circular dependencies.
17082         (frame_parms, syms_of_frame): Add entries for and define new
17083         frame parameters.
17084         (focus_follows_mouse): New meaningful value `auto-raise'.
17085         * src/frame.h (z_group): New enumeration type.
17086         (frame): New slots parent_frame, undecorated, override_redirect,
17087         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
17088         (fset_parent_frame): New inlined function.
17089         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
17090         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
17091         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
17092         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
17093         (FRAME_Z_GROUP_BELOW): New macros.
17094         (frame_ancestor_p): Add declaration.
17095         * src/gtkutil.c (xg_create_frame_widgets): Handle
17096         `undecorated' and `override-redirect' frame parameters.
17097         (x_wm_set_size_hint): None for child frames.
17098         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
17099         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
17100         (xg_set_override_redirect): New functions.
17101         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
17102         Don't let scrollbars obscure child frames.
17103         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
17104         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
17105         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
17106         declarations.
17107         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
17108         frame parameters.
17109         (Fx_create_frame): Install `min-width' and `min-height' frame
17110         parameters.
17111         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
17112         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
17113         (x_real_positions): Handle child frames.
17114         (x_set_menu_bar_lines): Don't for child frames.
17115         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
17116         (x_set_no_focus_on_map, x_set_no_accept_focus)
17117         (x_set_z_group): New functions.
17118         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
17119         scroll bars over child frames.
17120         (w32_createwindow): Handle new frame parameters and child frames.
17121         (w32_wnd_proc): Let mouse clicks into a child frame activate
17122         the frame.  Try to handle the `no-accept-focus' parameter.  Do
17123         SetFocus when our window is brought to top or becomes the
17124         foreground window.
17125         (w32_window): Don't initialize menu bar for child frames.
17126         (Fx_create_frame): Handle new frame parameters.
17127         (x_create_tip_frame): Set explicit_parent slot.
17128         (w32_dialog_in_progress): New function.
17129         (Fx_file_dialog): Handle `z-group-above' frames.
17130         (w32_frame_list_z_order, Fw32_frame_list_z_order)
17131         (w32_frame_restack, Fw32_frame_restack): New functions.
17132         (w32_frame_parm_handlers): Add entries for new frame
17133         parameters.
17134         * src/w32font.c (Fx_select_font): Handle `z-group-above'
17135         frames during font selection dialogue.
17136         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
17137         event from F's w32 window.
17138         (w32_mouse_position): Handle child frames.
17139         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
17140         Don't draw scroll bars over child frames.
17141         (w32_read_socket): Always erase background of child frames.
17142         When generating SELECT_WINDOW_EVENTs handle new value of
17143         `focus-follows-mouse' and handle `no-accept-focus' parameter.
17144         Handle `mouse-wheel-frame' parameter.
17145         (x_calc_absolute_position, x_set_offset, x_set_window_size):
17146         Handle child frames.
17147         (x_make_frame_visible): Handle child frames specially.  Handle
17148         `no-focus-on-map' parameter.
17149         * src/w32term.h (w32_dialog_in_progress): Add external
17150         declaration.
17151         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
17152         for child frames.
17153         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
17154         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
17155         non-Motif, non-GTK case.
17156         (x_real_pos_and_offsets): Handle child frames.
17157         (x_set_undecorated, x_set_parent_frame)
17158         (x_set_no_focus_on_map, x_set_no_accept_focus)
17159         (x_set_override_redirect): New functions.
17160         (x_set_menu_bar_lines): Not for child frames.
17161         (x_window): Handle `undecorated' and `override_redirect' cases.
17162         (Fx_create_frame): Handle new frame parameters.
17163         (frame_geometry): Handle child frames and outer border.
17164         (x_frame_list_z_order, Fx_frame_list_z_order)
17165         (x_frame_restack, Fx_frame_restack): New functions.
17166         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
17167         (x_frame_parm_handlers): Add entries for new frame parameters.
17168         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
17169         frames.
17170         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
17171         for child frames.
17172         (XTmouse_position): Handle child frames.
17173         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
17174         bars obscure child frames.
17175         (handle_one_xevent): Handle child frame positions.  If necessary
17176         set `skip-taskbar' and reassign proper `z-group' when we are
17177         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
17178         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
17179         Let mouse clicks into a child frame activate the frame.
17180         (x_calc_absolute_position, x_set_offset): Handle child frames
17181         specially.
17182         (x_set_skip_taskbar, x_set_z_group): New functions.
17183         (x_make_frame_visible): Handle child frames.
17184         (ATOM_REFS_INIT): Add entries for
17185         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
17186         Xatom_net_wm_state_below.
17187         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
17188         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
17189         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
17191 2017-04-11  Glenn Morris  <rgm@gnu.org>
17193         Update a package test for hydra
17195         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
17196         Also bind package-gnupghome-dir, see eg
17197         http://hydra.nixos.org/build/51462182 .
17199 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
17201         Frame movement, focus and hook related changes
17203         New hook `move-frame-functions'.  Run `focus-in-hook'
17204         after switching to frame that gets focus.  Don't run
17205         XMoveWindow for GTK.
17207         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
17208         functions.
17210         * src/frame.c (do_switch_frame): Simplify code.
17211         (Fhandle_switch_frame): Switch frame before running
17212         `handle-focus-in'.
17213         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
17214         (Vmove_frame_functions): New hook variable.
17215         * src/keyboard.c (kbd_buffer_get_event): Handle
17216         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
17217         (head_table): Add Qmove_frame entry.
17218         (syms_of_keyboard): Add Qmove_frame.
17219         (keys_of_keyboard): Define key for `move-frame'.
17220         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
17221         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
17222         * src/window.c (run_window_size_change_functions): Record size of
17223         FRAME's minibuffer window too.
17224         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
17225         (x_set_offset): For GTK call gtk_widget_move instead of
17226         XMoveWindow.
17228 2017-04-11  Werner LEMBERG  <wl@gnu.org>
17230         Avoid abort in ftfont.c due to faulty fonts
17232         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
17233         hinting, before aborting.  (Bug#25945)
17235 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
17237         Document 'line-pixel-height'
17239         * doc/lispref/display.texi (Size of Displayed Text): Document
17240         line-pixel-height.  Suggested by Tak Kunihiro
17241         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
17243 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
17245         Introduce customizable variable 'package-gnupghome-dir'
17247         * lisp/emacs-lisp/package.el (package-import-keyring)
17248         (package--check-signature-content, package-check-signature):
17249         Use new variable package-gnupghome-dir to control which GnuPG
17250         homedir to use.
17251         * doc/emacs/package.texi: Mention package-gnupghome-dir.
17252         * etc/NEWS: Mention package-gnupghome-dir.
17254 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
17256         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
17258         This activates a change that was installed a few weeks ago but whose
17259         ChangeLog was inadvertently dropped during its commit.  The proper
17260         ChangeLog is included below as part of the present commit.
17262         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
17263         is set avoid calling x_gtk_parse_geometry (Bug#25851).
17264         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
17265         PPosition, USPosition and USSize flags if requested.
17266         * src/xterm.c (x_set_offset): With GTK when
17267         x_gtk_use_window_move is set, leave it entirely to
17268         gtk_window_move to position the window and skip any
17269         post-adjustments (Bug#25851 and Bug#25943).
17270         (x_gtk_use_window_move): New variable.
17272 2017-04-10  Alan Mackenzie  <acm@muc.de>
17274         Fix a loop in C Mode caused by inadequate analysis of comments.
17276         After M-;, and the insertion of the opening "/*", the CC Mode after-change
17277         function got confused, since the new comment opener matched the end of a
17278         subsequent comment, but moving back over that comment did not come back to the
17279         starting point.  Fix this.
17281         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
17282         point is left if no end-of-macro is found before it.
17283         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
17284         non-nil except where we have an unclosed block comment at the end of a macro.
17285         This enables us to populate the cache more fully, at the cost of some run
17286         time.
17288 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
17290         Add PVSIZE function to return the size of a pseudovector.
17292         * src/lisp.h (PVSIZE): New function.
17294         * src/chartab.c (copy_char_table):
17295         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
17296         * src/doc.c (Fdocumentation, store_function_docstring):
17297         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
17298         * src/fns.c (Flength, Fcopy_sequence):
17299         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
17300         * src/lread.c (substitute_object_recurse):
17301         * src/print.c (print_object):
17302           Use it.
17304 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
17306         Add Tramp tests
17308         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
17310         * test/lisp/net/tramp-tests.el
17311         (tramp-test01-file-name-syntax-simplified)
17312         (tramp-test01-file-name-syntax-separate)
17313         (tramp-test02-file-name-dissect-simplified)
17314         (tramp-test02-file-name-dissect-separate): New tests.
17316 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
17318         Make sure that `shell' makes BUFFER current
17320         * lisp/shell.el (shell): Restrict scope of recently added
17321         `with-current-buffer' to make sure that BUFFER is current when
17322         `shell' returns.
17324 2017-04-10  Jim Blandy  <jimb@red-bean.com>
17326         Default to PCRE syntax when reading .hgignore
17328         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
17329         Default to the PCRE syntax (bug#26249).
17331 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
17333         Document Tramp changes
17335         * doc/misc/tramp.texi (Change file name syntax): New node.
17337         * etc/NEWS: Mention `tramp-change-syntax'.
17339         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
17340         External packages uses it.
17341         (tramp-syntax): Set also `tramp-file-name-regexp'.
17343 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17345         Merge from gnulib (Bug#26398)
17347         This incorporates:
17348         2017-04-08 getopt: prefer - to _ in new file names
17349         2017-04-08 getopt: port recent getopt changes to macOS
17350         * .gitignore: Add lib/getopt-cdefs.h.
17351         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
17352         * lib/getopt-core.h: Rename from lib/getopt_core.h.
17353         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
17354         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
17355         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
17356         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
17357         Copy from Gnulib.
17358         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17360 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
17362         Write updated loaddefs to a temporary file and rename into place.
17364         In a parallel build, byte compilation can be running at the same times
17365         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
17366         loaddefs.el is read at startup and must always be in a usable state.
17368         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
17369         loaddefs.el.new and then rename it to loaddefs.el.
17371 2017-04-09  Glenn Morris  <rgm@gnu.org>
17373         In the manual, mention pops and imaps
17375         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
17376         Mention pops and imaps protocols.
17378 2017-04-09  Glenn Morris  <rgm@gnu.org>
17380         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
17382 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
17384         Fix rmail handling of movemail protocols (bug#18278)
17386         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
17387         (rmail-parse-url): Return protocol in second list element.
17388         Only use passwords with remote mailboxes.
17389         (rmail-insert-inbox-text): Handle non-simple local
17390         mailboxes (maildir, MH, etc.).
17392 2017-04-09  Glenn Morris  <rgm@gnu.org>
17394         Fix typos in manual re movemail local mailboxes
17396         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
17397         Fix examples of local mailbox urls.
17399 2017-04-08  Glenn Morris  <rgm@gnu.org>
17401         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
17403 2017-04-08  Glenn Morris  <rgm@gnu.org>
17405         Remove references to OS/2 in code, doc, and comments
17407         * lisp/gnus/nnheader.el (nnheader-read-timeout)
17408         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
17409         * lisp/emulation/viper-util.el (viper-color-defined-p):
17410         * lisp/net/pop3.el (pop3-read-timeout):
17411         * lisp/net/imap.el (imap-read-timeout):
17412         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
17413         * lisp/emulation/viper-ex.el (viper-glob-function):
17414         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
17415         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
17416         * doc/emacs/msdos-xtra.texi (MS-DOS):
17417         * doc/misc/gnus.texi (Various Various):
17418         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
17420 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
17422         Tune Tramp syntax
17424         * lisp/net/tramp-cmds.el (tramp-change-syntax):
17425         Use `tramp-syntax-values'.
17427         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
17429         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
17430         (tramp-syntax-values): New defun.
17431         (tramp-prefix-format, tramp-method-regexp)
17432         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
17433         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
17434         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
17435         and changed values.
17436         (tramp-completion-file-name-regexp-default): Rename from
17437         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
17438         (tramp-completion-file-name-regexp-simplified): Rename from
17439         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
17440         (tramp-initial-completion-file-name-regexp):
17441         Use `tramp-completion-file-name-regexp-default'.
17442         (tramp-run-real-handler): Do not autoload any longer.
17444 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
17446         Replace more nested ifs with cond
17448         This is a continuation of d526047 "Replace more nested ifs with cond".
17449         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
17450         when and cond where appropriate.
17452 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
17454         Adjust the edebug spec of if-let*
17456         This was fixed in Bug#24748, but now looking more closely, using gate in
17457         the spec seems correct.  See (info "(elisp) Backtracking").
17458         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
17460 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
17462         Replace some uses of cl-member-if with apply
17464         From the mhtml-mode series.  Some of the uses of cl-lib are not
17465         necessary.
17466         * lisp/align.el: Don't require cl-lib.
17467         (align-region): Use apply instead of cl-member-if.
17468         * lisp/emulation/viper.el: Don't require cl-lib.
17469         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
17470         cl-member-if.
17472 2017-04-08  Philipp Stephani  <phst@google.com>
17474         Validate SPEC of `dolist', cf. Bug#25477.
17476         * lisp/subr.el (dolist): Test type and length of SPEC.
17477         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
17478         Add unit test.
17480 2017-04-08  Philipp Stephani  <phst@google.com>
17482         Add unit test for Bug#26378
17484         * test/lisp/vc/ediff-diff-tests.el
17485         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
17487 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
17489         Fix circular read syntax for records.
17491         * src/lread.c (substitute_object_recurse): Work with records.
17493         * test/src/lread-tests.el (lread-record-1): New test.
17495 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17497         Deprecate copy-record in favor of copy-sequence
17499         Since copy-sequence seems to be needed anyway for records, have it
17500         work on records, and remove copy-record as being superfluous.
17501         * doc/lispref/records.texi (Records, Record Functions):
17502         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
17503         * lisp/emacs-lisp/eieio.el (make-instance, clone):
17504         * test/src/alloc-tests.el (record-3):
17505         Use copy-sequence, not copy-record, to copy records.
17506         * doc/lispref/sequences.texi (Sequence Functions)
17507         (Array Functions): Document that aref and copy-sequence
17508         work on records.
17509         * etc/NEWS: Omit copy-record.
17510         * src/alloc.c (Fcopy_record): Remove.
17511         * src/data.c (Faref): Document that arg can be a record.
17512         * src/fns.c (Fcopy_sequence): Copy records, too.
17514 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17516         Fix dependency checking in src/Makefile.in
17518         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
17519         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
17520         Otherwise, some dependencies will be missed.
17522 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17524         Minor tuneup of write-region change
17526         * src/fileio.c (write_region): Use SCHARS, not Flength,
17527         on a value known to be a string.
17529 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
17531         Adjust write-region so file name is at the beginning again
17533         * lisp/epa-file.el (epa-file-write-region):
17534         * lisp/gnus/mm-util.el (mm-append-to-file):
17535         * lisp/jka-compr.el (jka-compr-write-region):
17536         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17537         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17538         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17539         * src/fileio.c (write_region): Put file name at the beginning and move
17540         number of characters to the end of the message.
17542 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
17544         Check that file argument is a string
17546         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
17547           passed to `file-local-copy' is a string (Bug#26378).  Also fix
17548           the existing comment for this function, and convert it to its
17549           doc-string.
17551 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
17553         Fix handling of non-integer START param to write-region
17555         The previous patch for Bug#354 incorrectly assumed that START would
17556         always be an integer.
17558         * lisp/epa-file.el (epa-file-write-region):
17559         * lisp/jka-compr.el (jka-compr-write-region):
17560         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17561         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17562         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17563         * src/fileio.c (write_region): Handle nil and string values of START.
17565 2017-04-07  Glenn Morris  <rgm@gnu.org>
17567         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
17569 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
17571         Add Tramp versions to `customize-package-emacs-version-alist'
17573         * lisp/net/trampver.el (customize-package-emacs-version-alist):
17574         Add Tramp versions to `customize-package-emacs-version-alist'.
17576 2017-04-07  Tom Tromey  <tom@tromey.com>
17578         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
17580 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
17582         * doc/lispref/records.texi (Record Functions): fix typo.
17584 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17586         More casefiddle minor fixes
17588         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
17589         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
17590         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
17592 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
17594         Output number of characters added to file (Bug#354)
17596         * src/fileio.c (write_region):
17597         * lisp/epa-file.el (epa-file-write-region):
17598         * lisp/jka-compr.el (jka-compr-write-region):
17599         * lisp/net/ange-ftp.el (ange-ftp-write-region):
17600         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17601         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17602         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
17603         characters written in addition to file name.
17604         * doc/lispref/files.texi: Added documentation to write-region and
17605         append-to-file describing their output.
17607 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
17609         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
17611         The recent changes to src/casefiddle.c cause build failure as seen
17612         below:
17614             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
17615                 --batch --load loadup bootstrap
17616             [Thread debugging using libthread_db enabled]
17617             Using host libthread_db library "/usr/lib/libthread_db.so.1".
17618             Loading loadup.el (source)...
17619             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
17620                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
17621                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
17622                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
17623                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
17624                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
17625             Loading emacs-lisp/byte-run (source)...
17626             Loading emacs-lisp/backquote (source)...
17627             Loading subr (source)...
17628             Loading version (source)...
17629             Loading widget (source)...
17630             Loading custom (source)...
17631             Loading emacs-lisp/map-ynp (source)...
17632             Loading international/mule (source)...
17633             Loading international/mule-conf (source)...
17635             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
17637             Breakpoint 1, terminate_due_to_signal at emacs.c:363
17638             363   signal (sig, SIG_DFL);
17639             (gdb) bt
17640             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
17641             #1  0x000000000060ec33 in die at alloc.c:7352
17642             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
17643             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
17644             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
17645             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
17646             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
17647             #7  0x00000000006325ac in eval_sub at eval.c:2219
17648             #8  0x0000000000632368 in eval_sub at eval.c:2184
17649             #9  0x000000000063446c in apply_lambda at eval.c:2875
17650             #10 0x00000000006329af in eval_sub at eval.c:2294
17651             #11 0x000000000062d462 in Fprogn at eval.c:449
17652             #12 0x000000000062d4cf in prog_ignore at eval.c:461
17653             #13 0x000000000062f19c in Fwhile at eval.c:982
17654             #14 0x00000000006321f4 in eval_sub at eval.c:2172
17655             #15 0x000000000062d462 in Fprogn at eval.c:449
17656             #16 0x000000000062f0c4 in Flet at eval.c:963
17657             #17 0x00000000006321f4 in eval_sub at eval.c:2172
17658             #18 0x0000000000632963 in eval_sub at eval.c:2290
17659             #19 0x000000000062d462 in Fprogn at eval.c:449
17660             #20 0x000000000062f0c4 in Flet at eval.c:963
17661             #21 0x00000000006321f4 in eval_sub at eval.c:2172
17662             #22 0x0000000000668caa in readevalloop at lread.c:1927
17663             #23 0x0000000000667253 in Fload at lread.c:1332
17664             #24 0x0000000000632683 in eval_sub at eval.c:2233
17665             #25 0x0000000000668caa in readevalloop at lread.c:1927
17666             #26 0x0000000000667253 in Fload at lread.c:1332
17667             #27 0x0000000000632683 in eval_sub at eval.c:2233
17668             #28 0x0000000000631be5 in Feval at eval.c:2041
17669             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
17670             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
17671             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
17672             #32 0x000000000062f51e in internal_catch at eval.c:1091
17673             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
17674             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
17675             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
17676             #36 0x000000000057b55b in main at emacs.c:1687
17678             Lisp Backtrace:
17679             "capitalize" (0xffffcf70)
17680             "format" (0xffffd130)
17681             "define-charset" (0xffffd370)
17682             "while" (0xffffd560)
17683             "let" (0xffffd7c0)
17684             "dolist" (0xffffd910)
17685             "let" (0xffffdb70)
17686             "load" (0xffffdfe0)
17687             "load" (0xffffe4a0)
17689         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
17690         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
17691         Qspecial_titlecase.
17692         (prepare_casing_context): Use aforementioned symbols.
17694 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17696         Merge from gnulib
17698         This merges some getopt fixes from Zack Weinberg, and affects only
17699         non-GNUish platforms.  It incorporates:
17700         2017-04-06 getopt-gnu: omit some duplicate code
17701         2017-04-06 getopt-posix: use angle-bracket include
17702         2017-04-06 getopt: annotate files with relationship to glibc
17703         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
17704         2017-04-06 getopt: better handling of ambiguous options
17705         2017-04-06 getopt: refactor long-option handling
17706         2017-04-06 getopt: tidy up _getopt_initialize a bit
17707         2017-04-06 getopt: merge from glibc: repetition reduction
17708         2017-04-06 getopt: clean up error reporting
17709         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
17710         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
17711         2017-04-06 getopt: harmonize comments with glibc
17712         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
17713         2017-04-06 getopt: tabify, in preparation for merge with glibc
17714         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
17715         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
17716         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
17717         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
17718         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
17719         Copy from gnulib.
17720         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
17721         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
17722         New files, taken from gnulib.
17723         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
17724         Regenerate.
17726 2017-04-07  Hong Xu  <hong@topbug.net>
17728         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
17729         doc (Bug#25193).
17731 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
17733         Mention that processes start in default-directory (Bug#18515)
17735         * doc/lispref/processes.texi (Synchronous Processes):
17736         (Asynchronous Processes):
17737         * lisp/subr.el (start-process):
17738         * src/callproc.c (call-process): Mention that the subprocess starts in
17739         `default-directory' when local, suggest `start-file-process' and
17740         `process-file' otherwise.
17742 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
17744         * src/xdisp.c (vmessage, message): Clarify commentary.
17746 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17748         Minor casefiddle.c cleanups
17750         * src/casefiddle.c: Redo recent changes to match GNU style,
17751         and prefer C99-style decls within blocks.
17752         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
17753         we are merely using the Unicode name, and make it a constant
17754         rather than a macro.  All uses changed.
17755         (SMALL_SIGMA): Remove; unused.
17756         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
17757         and make it a constant rather than a macro.  All uses changed.
17758         (do_casify_multibyte_string): Use ‘verify’ rather than an
17759         unportable static_assertion local.
17761 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17763         * lisp/international/README: Update to match current list.
17765 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
17767         Fix 'make clean' in lib subdirectory
17769         * lib/Makefile.in (clean): Remove *-t files.
17770         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
17771         This removes files like lib/getopt.h that should be removed
17772         even if this configuration did not need to build them.
17773         (maintainer-clean): Remove TAGS here, not in distclean,
17774         to be consistent with ../src/Makefile.in.
17776 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
17778         Add new Tramp syntax
17780         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
17782         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
17783         Add :set function.
17784         (tramp-prefix-port-format): Simplify.
17785         (tramp-file-name-regexp-separate): Remove.
17786         (tramp-initial-file-name-regexp)
17787         (tramp-completion-file-name-regexp-old-style)
17788         (tramp-initial-completion-file-name-regexp): New defconst.
17789         (tramp-prefix-format, tramp-prefix-regexp)
17790         (tramp-method-regexp, tramp-postfix-method-format)
17791         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
17792         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
17793         (tramp-postfix-ipv6-regexp)
17794         (tramp-postfix-host-format, tramp-postfix-host-regexp)
17795         (tramp-remote-file-name-spec-regexp)
17796         (tramp-file-name-structure, tramp-file-name-regexp)
17797         (tramp-completion-file-name-regexp)
17798         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
17799         (tramp-tramp-file-p, tramp-find-method)
17800         (tramp-dissect-file-name, tramp-make-tramp-file-name)
17801         (tramp-completion-make-tramp-file-name)
17802         (tramp-rfn-eshadow-update-overlay)
17803         (tramp-register-autoload-file-name-handlers)
17804         (tramp-register-file-name-handlers)
17805         (tramp-unload-file-name-handlers)
17806         (tramp-completion-handle-file-name-all-completions)
17807         (tramp-completion-dissect-file-name, tramp-clear-passwd):
17808         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
17809         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
17810         (tramp-compute-multi-hops): Use them.
17812 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17814         Implement special sigma casing rule  (bug#24603)
17816         In Greek, a sigma character has two lower case forms which depend on
17817         their position in the word.  Implement logic determining it.
17819         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
17820         assume inword is true when flag is CASE_UP and false when flag is
17821         CASE_DOWN.  For final sigma detection we need this information tracked
17822         reliably;.
17823         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
17824         Unicode code point of different forms of sigma letter.
17825         (case_character): Implement support for final sigma casing.
17826         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
17827         changes to case_character.
17829         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
17830         cases for final sigma.
17832 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17834         Support casing characters which map into multiple code points  (bug#24603)
17836         Implement unconditional special casing rules defined in Unicode standard.
17838         Among other things, they deal with cases when a single code point is
17839         replaced by multiple ones because single character does not exist (e.g.
17840         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
17841         into SS).
17843         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
17844         standard distribution.
17845         * admin/unidata/README: Mention SpecialCasing.txt.
17847         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
17848         unidata-gen-table-special-casing--do-load): New functions generating
17849         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
17850         character Unicode properties built from the SpecialCasing.txt Unicode
17851         data file.
17853         * src/casefiddle.c (struct casing_str_buf): New structure for
17854         representing short strings used to handle one-to-many character
17855         mappings.
17857         (case_character_imlp): New function which can handle one-to-many
17858         character mappings.
17859         (case_character, case_single_character): Wrappers for the above
17860         functions.  The former may map one character to multiple (or no)
17861         code points while the latter does what the former used to do (i.e.
17862         handles one-to-one mappings only).
17864         (do_casify_natnum, do_casify_unibyte_string,
17865         do_casify_unibyte_region): Use case_single_character.
17866         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
17867         features of case_character.
17868         * (do_casify_region): Updated to reflact do_casify_multibyte_string
17869         changes.
17871         (casify_word): Handle situation when one character-length of a word
17872         can change affecting where end of the word is.
17874         (upcase, capitalize, upcase-initials): Update documentation to mention
17875         limitations when working on characters.
17877         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
17878         Add test cases for the newly introduced character properties.
17879         (casefiddle-tests-casing): Update test cases which are now passing.
17881         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
17882         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
17883         and ‘downcase’.
17884         (char-fold--test-match-exactly): Use the new functions.  This is needed
17885         because otherwise fi and similar characters are turned into their multi-
17886         -character representation.
17888         * doc/lispref/strings.texi: Describe issue with casing characters versus
17889         strings.
17890         * doc/lispref/nonascii.texi: Describe the new character properties.
17892 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17894         Split up casify_region function  (bug#24603)
17896         No functional changes at this time but splitting casify_region into
17897         a function dealing with multibyte and another dealing with unibyte
17898         buffers will make future code changes slightly easier.
17900         * src/casefiddle.c (casify_region): Move most of the code into two
17901         new functions:
17902         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
17904 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17906         Add support for title-casing letters  (bug#24603)
17908         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
17909         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
17910         property table if capitalization has been requested.
17911         (case_character): Make use of the titlecase_char_table to title-case
17912         initial characters when capitalising.
17914         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
17915         casefiddle-tests-casing): Update test cases which are now passing.
17917 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17919         Introduce case_character function
17921         Move single-character casing logic into a separate function so that
17922         it is collected in a single place.  This will make future changes to
17923         the logic easier.  This commit introduces no functionality changes.
17925         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
17926         structure for saving casing context and function to initialize it.
17927         (case_character): New function which cases character base on provided
17928         context.
17929         (do_casify_integer, do_casify_multibyte_string,
17930         do_casify_unibyte_string, casify_object, casify_region): Convert to
17931         use casing_context and case_character.
17933 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
17935         Split casify_object into multiple functions
17937         casify_object had three major cases to cover and those were mostly
17938         independent of each other.  Move those branches to separate function
17939         so it’s easier to comprehend each individual case.
17941         While at it, use somewhat more descriptive ch and cased variable names
17942         rather than c and c1.
17944         This commit introduces no functional changes.
17946         * src/casefiddle.c (casify_object): Split into…
17947         (do_casify_integer, do_casify_multibyte_string,
17948         do_casify_unibyte_string): …new functions.
17950 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
17952         Update documentation for type semantics of records.
17954         * doc/lispref/objects.texi (Record Type): improve description of what
17955         `type-of' returns for records.
17956         (Type Descriptors): new section.
17957         * doc/lispref/elisp.texi: reference it.
17958         * doc/lispref/records.texi (Records): reference it.  Document
17959         behaviour when type slot is a record.
17961         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
17963 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17965         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
17967 2017-04-06  Tom Tromey  <tom@tromey.com>
17969         require cl-lib to fix fallout from mhtml series
17971         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
17972         lisp/emulation/viper.el: Require cl-lib.
17974 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17976         In CANNOT_DUMP builds, allow editing of files named "dump".
17978         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
17979         calling dump-emacs only if dump-emacs is defined; otherwise, don't
17980         treat those command-line argument specially.
17982 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17984         In CANNOT_DUMP builds, don't prepare for unexec.
17986         Having a command-line argument of "dump" or "bootstrap" would trigger
17987         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
17988         we should get signal handlers installed regardless of whatever funny
17989         file names we decide to edit.
17991         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
17992         alterations to initialization that prepares the process for unexec.
17994 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
17996         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
17998         During a bootstrap, loading rmail.el invokes movemail to determine its
17999         flavor, but call-process doesn't work if exec-path is nil.
18001         * lisp/loadup.el: Only clear exec-path if dumping.
18003 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
18005         Fix CANNOT_DUMP build on Darwin/macOS.
18007         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
18008         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
18009         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
18011 2017-04-05  Tom Tromey  <tom@tromey.com>
18013         add two more mhtml tests
18015         * test/manual/indent/html-multi-2.html: New file.
18016         * test/manual/indent/html-multi-3.html: New file.
18018 2017-04-05  Tom Tromey  <tom@tromey.com>
18020         enable mhtml-mode by default
18022         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
18023         html-mode.
18024         (magic-fallback-mode-alist): Likewise.
18025         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
18027 2017-04-05  Tom Tromey  <tom@tromey.com>
18029         add mhtml-mode.el
18031         * etc/NEWS: Update.
18032         * lisp/textmodes/mhtml-mode.el: New file.
18033         * test/manual/indent/html-multi.html: New file.
18034         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
18035         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
18037 2017-04-05  Tom Tromey  <tom@tromey.com>
18039         change sgml-mode to help multi-html mode
18041         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
18042         defconst.
18043         (sgml-syntax-propertize): Use it.
18044         (sgml--find-<>-backward): New function.
18045         (sgml-parse-tag-backward): Use it.
18047 2017-04-05  Tom Tromey  <tom@tromey.com>
18049         make js.el respect prog-first-column
18051         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
18053 2017-04-05  Tom Tromey  <tom@tromey.com>
18055         make smie.el respect prog-first-column
18057         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
18059 2017-04-05  Tom Tromey  <tom@tromey.com>
18061         change viper to use derived-mode-p
18063         * lisp/subr.el (provided-mode-derived-p): New function.
18064         (derived-mode-p): Use it.
18065         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
18066         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
18067         (set-viper-state-in-major-mode): Use derived-mode-p.
18069 2017-04-05  Tom Tromey  <tom@tromey.com>
18071         change align to use derived-mode-p
18073         * lisp/align.el (align-region): Use derived-mode-p.
18075 2017-04-05  Tom Tromey  <tom@tromey.com>
18077         change org to use derived-mode-p
18079         * lisp/org/org-list.el (org-list-insert-radio-list): Use
18080         derived-mode-p.
18081         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
18082         derived-mode-p.
18084 2017-04-05  Tom Tromey  <tom@tromey.com>
18086         change semantic to use derived-mode-p
18088         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
18090 2017-04-05  Tom Tromey  <tom@tromey.com>
18092         change calc to use derived-mode-p
18094         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
18095         (calc-embedded-make-info): Use derived-mode-p.
18097 2017-04-05  Tom Tromey  <tom@tromey.com>
18099         change auto-insert to use derived-mode-p
18101         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
18103 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18105         * lisp/info.el (Info-search): Fix typo in April 1 change.
18107 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18109         Minor cleanups related to type-of
18111         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
18112         * src/data.c (syms_of_data):
18113         * src/frame.c (syms_of_frame): Put all the primitive type names
18114         together, under the "Types that type-of returns" comment.
18116 2017-04-05  Glenn Morris  <rgm@gnu.org>
18118         * doc/lispref/package.texi (Package Archives): Mention https.
18120 2017-04-05  Glenn Morris  <rgm@gnu.org>
18122         Advertise https for homepage of gnu.org packages
18124         * lisp/emacs-lisp/package.el (describe-package-1):
18125         Use https, if supported, for the homepage of packages on gnu.org.
18127 2017-04-05  Glenn Morris  <rgm@gnu.org>
18129         Default to https for elpa.gnu.org if gnutls available
18131         * lisp/emacs-lisp/package.el (package-archives):
18132         Default to https for elpa.gnu.org if gnutls is available.  Ref:
18133         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
18135 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
18137         Minor simplifications and doc for records
18139         * doc/lispref/records.texi (Records): Mention size limit.
18140         * etc/NEWS: Mention records.
18141         * src/alloc.c (allocate_pseudovector, allocate_record):
18142         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
18143         (allocate_record): Check arg range here, not in callers, as this
18144         simplifies the code.  Use allocate_vectorlike instead of
18145         allocate_vector, to avoid duplicate runtime tests.
18146         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
18147         the doc string, as it is not visible to the user.
18148         (Fmake_record, record, Fcopy_record):
18149         Prefer make_lisp_ptr to XSETVECTOR.
18150         (record): Broaden memcpy to copy the type, too.
18152 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
18154         Fix recent changes in record data type
18156         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
18157         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
18159 2017-04-04  Philipp Stephani  <phst@google.com>
18161         Make subprocess functions resolve the default directory
18163         `call-process' doesn't respect file name handlers in
18164         `default-directory', so `file-name-non-special' has to resolve them
18165         for `process-file', `start-file-process', and
18166         `shell-command' (Bug#25949).
18168         * lisp/files.el (file-name-non-special): Also resolve default
18169         directory for 'process-file', 'start-file-process', and
18170         'shell-command'.
18171         * test/lisp/files-tests.el
18172         (files-tests--file-name-non-special--subprocess): Add unit test.
18174 2017-04-04  Philipp Stephani  <phst@google.com>
18176         Make ediff handle remote and quoted file names
18178         Quoted file names need to be unquoted before passed to
18179         subprocesses (Bug#25950).
18181         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
18182         file names.
18183         * test/lisp/vc/ediff-diff-tests.el
18184         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
18186 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
18188         Backward compatibility with pre-existing struct instances.
18190         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
18191         (cl-old-struct-compat-mode): New minor mode.
18193         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
18194         cl-struct-define to signal use of record objects.
18196         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
18197         cl-struct-define): Enable legacy defstruct compatibility.
18199         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
18200         old-struct): New tests.
18202         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
18203         `old-struct-compat'.
18205 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
18207         Make the URL library use records.
18209         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
18210         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
18211         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
18213         * lisp/url/url-http.el (url-http): Check for type `url' instead of
18214         `vector'.
18216 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
18218         Make EIEIO use records.
18220         * lisp/emacs-lisp/eieio-compat.el
18221         (eieio--generic-static-object-generalizer): Adjust to new tags.
18223         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
18224         directly as tag.
18225         (eieio--object-class): Adjust to new tag representation.
18226         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
18227         (eieio-defclass-internal): Use `make-record'.
18228         (eieio--generic-generalizer): Adjust generalizer code accordingly.
18230         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
18232         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
18233         Add `recordp'.
18235         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
18237 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
18239         Make cl-defstruct use records.
18241         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
18242         (cl--describe-class-slots): Use the new `type-of'.
18244         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
18245         (cl--generic-struct-specializers): Adjust to new tag.
18247         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
18248         Use the type symbol as the tag.  Use copy-record to copy structs.
18249         (cl--defstruct-predicate): New function.
18250         (cl--pcase-mutually-exclusive-p): Use it.
18251         (cl-struct-sequence-type): Can now return `record'.
18253         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
18254         code to new format.
18255         (cl--struct-register-child): Work with records.
18256         (cl-struct-define): Don't touch the tag's symbol-value and
18257         symbol-function slots when we use the type as tag.
18259         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
18261         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
18262         New test.
18264         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
18266 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
18268         Add record objects with user-defined types.
18270         * src/alloc.c (allocate_record): New function.
18271         (Fmake_record, Frecord, Fcopy_record): New functions.
18272         (syms_of_alloc): defsubr them.
18273         (purecopy): Work with records.
18275         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
18276         name if record's type holds class.
18277         (Frecordp): New function.
18278         (syms_of_data): defsubr it.  Define `Qrecordp'.
18279         (Faref, Faset): Work with records.
18281         * src/fns.c (Flength): Work with records.
18283         * src/lisp.h (prec_type): Add PVEC_RECORD.
18284         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
18286         * src/lread.c (read1): Add syntax for records.
18288         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
18289         (print_object): Add syntax for records.
18291         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
18292         New test.
18294         * test/src/alloc-tests.el (record-1, record-2, record-3):
18295         New tests.
18297         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
18298         doc/lispref/records.texi: Add documentation for records.
18300 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
18302         Fix a test in python-test.el
18304         Fix a test that breaks the test suite when it is run within a
18305         virtual environment.
18306         See following link for details:
18307         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
18308         * test/lisp/progmodes/python-tests.el
18309         (python-shell-calculate-process-environment-7): Bind
18310         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
18311         bind it to '/env'.
18313 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
18315         Throw a `search-failed' derived error in Info search
18317         The original fix for Bug#6106 switched from signaling `search-failed'
18318         to `user-error'.  However, this breaks incremental searching over
18319         multiple nodes because the isearch code doesn't expect a `user-error'.
18321         * src/search.c (syms_of_search): New error, `user-search-failed',
18322         with `user-error' and `search-failed' as parents.
18323         * doc/lispref/errors.texi (Standard Errors): Document it.
18324         * etc/NEWS: Announce it.
18325         * lisp/info.el (Info-search): Use it instead of `user-error' so that
18326         isearch will handle failed searches correctly.
18328 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
18330         Add Tramp test
18332         * doc/misc/tramp.texi (Remote processes): Fix typo.
18334         * lisp/shell.el (shell): Fix typo.
18336         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
18338         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
18339         New test.
18340         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
18341         (tramp-test31-vc-registered)
18342         (tramp-test32-make-auto-save-file-name)
18343         (tramp-test33-make-nearby-temp-file)
18344         (tramp-test34-special-characters)
18345         (tramp-test34-special-characters-with-stat)
18346         (tramp-test34-special-characters-with-perl)
18347         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
18348         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
18349         (tramp-test35-utf8-with-ls)
18350         (tramp-test36-asynchronous-requests)
18351         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
18353 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
18355         * lisp/ses.el: Silence byte-compiler warnings.
18357         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
18358         byte-compiler warnings.
18360 2017-04-02  Glenn Morris  <rgm@gnu.org>
18362         Belated fixes for admin.el's M-x make-manuals-dist
18364         * admin/admin.el (make-manuals-dist-output-variables): Additions.
18365         (make-manuals-dist--1): Also copy docstyle.texi.
18367 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
18369         Fix bugs in simplified test dependencies
18371         Problem reported by Glenn Morris in:
18372         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
18373         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
18374         (TESTS): Omit unnecessary patsubst.
18375         (test_template): Redo dependency heuristic, hopefully
18376         correctly this time.  It's the .log file that depends,
18377         not the phony test target.  Declare the phonies to be PHONY.
18378         Resurrect the exception for the *-tests subdirectory.
18379         Adjust to the fact that leading "./" is omitted now.
18381 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
18383         Fix typo in docstring
18385         * lisp/help.el: Fix typo.
18387 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
18389         Apply connecion-local variables for shells
18391         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
18392         variables.  Don't mention Emacs 23 anymore.
18393         (Frequently Asked Questions): Precise Emacs and MS Windows version.
18395         * lisp/files-x.el (connection-local-normalize-criteria):
18396         Suppress nil properties.
18397         (connection-local-set-profiles, with-connection-local-profiles):
18398         Adapt docstring.
18400         * lisp/shell.el (shell): Apply connecion-local variables.
18402 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
18404         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
18406         This prevents variables in signatures such as `sub add ($a, $b)' from
18407         being treated as punctuation.
18408         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
18409         Strictly match only prototype characters as punctuation.  (Bug#26037)
18411 2017-04-01  Tom Tromey  <tom@tromey.com>
18413         fix two js-mode syntax propertization bugs
18415         Bug#26070:
18416         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
18417         zero-or-one to regular expression.
18418         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
18419         literal up to END.
18420         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
18421         (js-mode-propertize-bug-2): New tests.
18423 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
18425         Simplify test dependency generation
18427         Generate default dependencies by using GNU extensions to ‘make’
18428         rather than via a hacky auxiliary program and script.
18429         * .gitignore: Remove test/make-test-deps.mk.
18430         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
18431         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
18432         (test_template): Infer dependency directly instead of via
18433         make-test-deps.mk.
18434         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
18435         (clean): No need to clean make-test-deps.mk.
18436         (make-test-deps.mk): Remove rule.
18437         * test/make-test-deps.emacs-lisp: Remove.
18439 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18441         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
18443         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
18444         test suite.
18445         (cl-lib-symbol-macrolet-2): New test.
18447 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
18449         Use only posix options in a ediff-ptch test
18451         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18452         Use just "-b" patch option.  Don't assume a particular suffix for
18453         the backup files.
18455 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
18457         Initial implementation of HTTP Digest qop for url
18459         This also refactors digest authentication functions in url-auth.el.
18461         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
18462         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
18463         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
18464         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
18465         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
18466         to simplify code and aid in unit testing.
18467         (url-digest-auth-build-response): Hook up new functionality, or fall
18468         back to previous.
18469         (url-digest-auth-make-request-digest-qop):
18470         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
18471         (url-digest-auth-name-value-string): Add new helper functions.
18472         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
18473         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
18474         (url-auth-test-digest-request-digest): Add a few tests as now more
18475         features are testable via intermediate functions.
18476         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
18477         the new implementation.  Parts of these were accidentally already
18478         merged in the past.
18480 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
18482         Tweak ediff-ptch test in previous commit a bit more
18484         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18485         Apply patches without requiring a shell.  Add some comments.
18487 2017-03-31  Glenn Morris  <rgm@gnu.org>
18489         Tweak an ediff-ptch test
18491         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18492         Add skip conditions.  Avoid going through shell where not needed.
18494 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
18496         * lisp/net/tramp-smb.el (tramp-smb-errors):
18498         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
18500 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
18502         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
18504 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
18506         dired-mark-suffix: New command
18508         Now dired-mark-extension prepends '.' to extension when not present.
18509         Add command dired-mark-suffix to preserve the previous
18510         behaviour (Bug#25942).
18511         * lisp/dired-x.el (dired-mark-suffix): New command;
18512         mark files ending in a given suffix.
18513         (dired--mark-suffix-interactive-spec): New defun.
18514         (dired-mark-extension, dired-mark-suffix): Use it.
18515         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
18516         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
18518 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
18520         default-directory: Remark that it must be a directory name
18522         * src/buffer.c (default-directory): Update docstring (Bug#26272).
18524 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
18526         Delete confuse statement in manual
18528         * doc/misc/cl.texi (For Clauses): Delete confuse statement
18529         and its example (Bug#23550).
18531 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
18533         Use find -delete if available
18535         This shortens the ‘make’ output and should avoid some
18536         repetitive scanning of directories during a build.
18537         * configure.ac (FIND_DELETE): New var.
18538         * lisp/Makefile.in (compile-always, bootstrap-clean):
18539         * test/Makefile.in (clean, bootstrap-clean): Use it.
18540         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
18542 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
18544         Remove gnus-boundp
18546         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
18547         bound-and-true-p.
18548         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
18550 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
18552         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
18554         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
18555         end of line after deleting horizontal whitespace.
18557 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
18559         * src/inotify.c (add_watch): Add comment.
18561 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
18563         Minor filenotify.el fixes
18565         * lisp/filenotify.el: Require subr-x.
18566         (file-notify-callback): Use equal, not eq.
18568 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
18570         Improve packaging documentation
18572         * doc/lispref/package.texi (Packaging Basics):
18573         * doc/lispref/tips.texi (Library Headers): Clarify some header
18574         formats, relation between file headers and package
18575         attributes (Bug#13281).
18577 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
18579         Fix a small incompatibility in ibuffer
18581         Translate nil values from column functions to the empty string, so that
18582         subsequent calls to string-width don't signal an error (Bug#26317).
18583         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
18584         nil, treat it like the empty string.
18586 2017-03-30  Alan Mackenzie  <acm@muc.de>
18588         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
18590         Also implement the "asymmetric space" rule for fontifying otherwise
18591         ambiguous
18592         declarations/expressions.
18594         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
18595         c-new-BEG or c-new-END when there is no need.
18596         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
18597         space" rule.
18599         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
18600         extracted from c-font-lock-declarations.  Add to this function processing to
18601         make `context' 'decl for lines contained within parens when these are also
18602         declarations.
18603         (c-font-lock-declarations): Call the newly extracted function above in place
18604         of inline code.
18606         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
18607         c-literal-start.
18609         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
18611         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
18612         "asymmetric fontification" rule, including the variable
18613         c-asymmetric-fontification-flag.
18615 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18617         Some inotify cleanup
18619         This catches some problems with integer overflow and races
18620         that I noticed in inotify.c after reviewing the changes
18621         installed to fix Bug#26126.
18622         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
18623         * src/inotify.c (aspect_to_inotifymask):
18624         Check for cycles and for improper lists.
18625         (make_lispy_mask, lispy_mask_match_p): Remove.
18626         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
18627         (inotifyevent_to_event, add_watch):
18628         Don’t assume watch descriptors and cookies fit in fixnums.
18629         (add_watch): Use assoc_no_quit, not Fassoc.
18630         Avoid integer overflow in (very!) long-running processes where
18631         the Emacs watch ID could overflow.  Avoid some duplicate code.
18632         (find_descriptor): New function.
18633         (remove_descriptor): First arg is now the returned value from
18634         find_descriptor, rather than the descriptor.  This way, the
18635         value can be removed without calling Fdelete, which might quit.
18636         Wait until the end (when watch_list is consistent) before signaling
18637         any errors.
18638         (remove_watch, inotify_callback):
18639         Use find_descriptor to avoid the need for Fdelete.
18640         (inotify_callback): Use simpler tests for ioctl failure.
18641         Free temporary buffer if signaled, and put it on the stack if small.
18642         Use ssize_t to index through read results, to avoid a cast.
18643         (valid_watch_descriptor): New function, with a tighter check.
18644         (Finotify_rm_watch, Finotify_valid_p): Use it.
18645         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
18646         of Fassoc.  Do not assume the first assoc succeeds.
18647         * test/src/inotify-tests.el (inotify-valid-p-simple):
18648         Add inotify-valid-p tests, some of which dump core without
18649         the fixes noted above.
18651 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
18653         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
18655 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18657         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
18659 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18661         Fix assoc_no_quit so that it does not quit
18663         The problem was that it called Fequal, which can quit.
18664         * src/fns.c (enum equal_kind):
18665         New enum, to be used in place of a boolean.
18666         (equal_no_quit): New function.
18667         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
18668         (assoc_no_quit): Use it to avoid quitting, the main point here.
18669         (internal_equal): Generalize bool to enum equal_kind arg, so that
18670         there are now 3 possibilities instead of 2.  Do not signal an
18671         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
18672         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
18673         changed.
18675 2017-03-29  Alan Mackenzie  <acm@muc.de>
18677         Amend gitmerge to recognize the injunction "don't merge".
18679         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
18680         well as "do not".
18682 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
18684         Add one more CSS pseudo-class
18686         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
18687         `focus-within'.
18689 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
18691         Update list of CSS pseudo-classes
18693         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
18694         pseudo-classes.
18696 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
18698         Adjust some search failure errors in info.el
18700         * lisp/info.el (Info-select-node): The search for beginning of node is
18701         an internal detail, and is not normally expected to fail, so it should
18702         not be a user error.
18703         (Info-complete-menu-item): Failing to find a menu indicates the user
18704         searched for a menu when there isn't one, so change to `use-error'.
18706 2017-03-28  Alan Mackenzie  <acm@muc.de>
18708         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
18710 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
18712         Don’t mishandle (format "%i" -1.0)
18714         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
18716 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
18718         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
18720 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
18722         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
18724 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
18726         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
18728         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
18729         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
18730         with (user-error "Search failed: "...).
18732 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
18734         Fix obsolete ‘test/automated’ references
18736         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
18737         (bootstrap-clean, maintainer-clean):
18738         Clean ‘test’, not ‘test/automated’.  Test for existence of
18739         subdirectory only for ‘test’, not for directories that should
18740         always exist.
18741         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
18742         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
18743         * lisp/man.el (Man-parse-man-k):
18744         * lisp/url/url-domsuf.el, make-dist:
18745         * test/file-organization.org:
18746         Fix obsolete references to test/automated.
18748 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
18750         shr-image-fetched: Work for narrowed Gnus article
18752         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
18754         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
18756 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
18758         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
18760 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
18762         Expand manual section on quitting windows
18764         * doc/lispref/windows.texi (Quitting Windows): Provide more
18765           information about the elements of the quit-restore window parameter,
18766           and how they affect the behavior of quit-restore-window.
18768 2017-03-26  Philipp Stephani  <phst@google.com>
18770         Add check for expected backtrace in module calls.
18772         * test/manual/cedet/tests/test.el
18773         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
18774         expected backtrace.
18776 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
18778         Fix redisplay glitches due to recent change in redisplay_internal
18780         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
18781         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
18782         for the problems caused by the original fix.
18784 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
18786         Fix Bug#26258
18788         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
18789         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
18790         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
18791         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
18792         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
18794         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
18795         (tramp-register-autoload-file-name-handlers)
18796         (tramp-register-file-name-handlers): Do not handle
18797         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
18798         the handlers are responsible for.
18799         (tramp-register-foreign-file-name-handler): New defun.
18801 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
18803         Fix docstring of dabbrev-abbrev-char-regexp
18805         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
18806         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
18807         previous character doesn't match, we search backwards for one that
18808         does, not throw an error.  Replace Lisp example with C based one to
18809         make it clear that "symbol" means a sequence of word and symbol
18810         constituent characters, not a Lisp symbol (Bug#358).
18812 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
18814         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
18816 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
18818         Minor fixes for inotify.c and filenotify.el
18820         * lisp/filenotify.el (file-notify--watch-absolute-filename):
18821         Add docstring.
18822         (file-notify-callback): Simplify.
18824         * src/inotify.c (Finotify_add_watch): Adapt docstring.
18826 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
18828         Fix issues regarding inotify file-notification
18830         Remove special code handling the inotify back-end.
18831         * lisp/filenotify.el (file-notify--watch): New struct
18832         representing a file-watch.
18833         (file-notify-descriptors): Use the new struct as hash-value.
18834         (file-notify-handle-event): Check that event is a cons.
18835         (file-notify--rm-descriptor, file-notify--event-watched-file)
18836         (file-notify--event-file-name, file-notify--event-file1-name)
18837         (file-notify-callback, file-notify-add-watch)
18838         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
18839         Remove special code handling inotify descriptors.  Remove code
18840         handling multiple clients per descriptor.
18841         (file-notify--descriptor): Remove unused function.
18843         Let inotify-add-watch return a unique descriptor on every
18844         call, like every other back-end does (Bug#26126).  Prevent
18845         multiple clients from interfering with each other, when
18846         watching a shared descriptor.
18847         * src/inotify.c (watch_list): Extend the format by including a
18848         id and the provided mask.
18849         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
18850         (make_watch_descriptor): Removed.
18851         (make_lispy_mask, lispy_mask_match_p): New functions.
18852         (inotifyevent_to_event): Match event against the mask provided
18853         by the client.
18854         (add_watch, remove_descriptor, remove_watch): New functions
18855         for managing the watch_list.
18856         (inotify_callback): Use the new functions.
18857         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
18858         flags from documentation.  Add check for validity of provided
18859         descriptor.  Use the new functions.  Use the default mask.
18860         (INOTIFY_DEBUG): Add new debug conditional.
18861         (inotify-watch-list, inotify-allocated-p): New debug functions.
18862         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
18864         * test/lisp/filenotify-tests.el:
18865         (file-notify-test02-rm-watch): Remove expected failure for inotify.
18867 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
18869         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
18871 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
18873         Stop edebug getting stuck on backquote (Bug#23651)
18875         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
18876         reading backquote or comma.
18878 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
18880         Expand manual section on quitting windows
18882         * doc/lispref/windows.texi (Quitting Windows): Provide more
18883           information about the elements of the quit-restore window parameter,
18884           and how they affect the behavior of quit-restore-window.
18886 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18888         Support in ispell.el multiple dictionaries loaded by Hunspell
18890         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
18891         Support Hunspell configurations that load more than one dictionary
18892         by default.  Doc fix.  (Bug#25830)
18894 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
18896         Simplify Tramp autoloading.
18898         * lisp/net/tramp.el (tramp-completion-file-name-handler):
18899         Simplify autoloading.  Give it the `operations' property.
18900         (tramp-completion-handle-expand-file-name): Remove.
18902 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18904         Fix a segfault due to failure to realize some faces
18906         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
18907         while redisplaying its windows, redisplay all of its windows
18908         again.  (Bug#26097)
18909         (init_iterator): When freeing all realized faces on all frames,
18910         reset the 'face_change' flag of the frame whose window we are
18911         about to iterate.
18913 2017-03-25  Philipp Stephani  <phst@google.com>
18915         Use a named function for 'safe-local-variable
18917         This improves the help screen for `version-control' (Bug#25431).
18919         * lisp/files.el (version-control-safe-local-p): New function.
18920         (version-control): Use it.
18922 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
18924         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
18926 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
18928         Make it easier to abort a series of tests with C-g
18930         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
18931         interactively is true and a test was aborted then ask if the remaining
18932         tests should be aborted too.
18933         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
18934         interactively arg.
18936 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18938         Don’t require chown/chgrp for game installation
18940         Problem reported by Joseph Mingrone in:
18941         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
18942         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
18943         chgrp fails with update-game-score and the game directory.
18944         Instead, expect the installer to fix this up afterwards.
18946 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18948         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
18950         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
18951         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
18953 2017-03-23  Philipp Stephani  <phst@google.com>
18955         Protect against an infloop in python-mode
18957         There appears to be an edge case caused by using `syntax-ppss' in a
18958         narrowed buffer during JIT lock inside of Python triple-quote strings.
18959         Unfortunately it is impossible to reproduce without manually
18960         destroying the syntactic information in the Python buffer, but it has
18961         been observed in practice.  In that case it can happen that the syntax
18962         caches get sufficiently out of whack so that there appear to be
18963         overlapping strings in the buffer.  As Python has no nested strings,
18964         this situation is impossible and leads to an infloop in
18965         `python-nav-end-of-statement'.  Protect against this by checking
18966         whether the search for the end of the current string makes progress.
18968         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
18969         against infloop.
18970         * test/lisp/progmodes/python-tests.el
18971         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
18973 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
18975         * doc/lispref/os.texi (File Notifications):
18977         Strengthen the recommendation to use filenotify.el.
18979 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
18981         Merge from gnulib
18983         This incorporates:
18984         2017-03-22 getopt: merge from glibc
18985         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
18986         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
18987         * lib/gnulib.mk.in: Regenerate.
18989 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
18991         Use lexical-bind in Tramp
18993         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
18995         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
18996         rather than `add-to-list'.
18997         (tramp-adb-get-device): Remove unused variable.
18999         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
19000         variable.
19002         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
19003         (tramp-find-file-name-coding-system-alist): Use `push' rather
19004         than `add-to-list'.
19006         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
19007         Require 'dired.  Move declarations up.
19008         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
19009         and `temporary-file-directory' calls with `with-no-warnings'.
19010         (tramp-test35-asynchronous-requests): Mark unused variable.
19012 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
19013             Noam Postavsky  <npostavs@gmail.com>
19015         Do not include comment start chars in ffap string
19017         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
19018         ensure that the returned string does not contain the comment start
19019         characters (especially for major modes that have '//' as comment start
19020         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
19021         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
19022         C-f" on a "//foo" comment will initiate an attempt to access a path
19023         "//foo" (Bug#24057).
19025 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
19027         c:/Temp/gtk-window-move/ChangeLog.txt
19029 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
19031         Fix filenotify.el issue for kqueue
19033         * lisp/filenotify.el (file-notify-add-watch): Use directory
19034         for remote file name handlers.
19036         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
19037         Create/delete temporary file only for "kqueue".
19038         (file-notify-test02-rm-watch): Create/delete temporary files.
19040 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
19042         Extend `file-notify-test02-rm-watch'
19044         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
19045         Expect it failed for inotify.  Divide tests into different
19046         `unwind-protect' clauses.  Check, that removing watch
19047         descriptors out of order do not harm.  (Bug#26126)
19049 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
19051         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
19053 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
19055         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
19057 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19059         Improve configure --with-pop etc. diagnostics
19061         * configure.ac: Improve diagnostics re --with-pop and
19062         --with-mailutils (Bug#26102).
19064 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
19066         Revert "Make --without-pop the default."
19068         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
19070 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19072         Don’t remove dependency files when configuring
19074         Problem reported by Tom Tromey in:
19075         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
19076         * configure.ac: Don’t remove */*.o and */deps/* when
19077         --enable-autodepend is in effect.
19079 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19081         Make --without-pop the default.
19083         Suggested by Angelo Graziosi in:
19084         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
19085         * configure.ac: Change the default from --with-pop to
19086         --without-pop.  Adjust diagnostics to match.
19088 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19090         Streamline dependency-file generation
19092         * configure.ac (AUTODEPEND_PARENTS): New var.
19093         mkdir the dependency directories here, to simplify ‘make’.
19094         Remove dependency files just before outputting Makefiles, so that
19095         they are preserved if ‘configure’ exits early due to some other problem.
19096         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
19097         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
19098         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
19099         number of processes spun off by ‘make’.
19100         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
19101         (distclean): Remove $(DEPDIR) itself.
19102         * lwlib/Makefile.in (all): Move to front, so that depdir includes
19103         do not alter default action.
19105 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19107         Port and simplify example sh script
19109         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
19110         don’t use ‘tail -1’, which is not portable.
19112 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
19114         Narrow scope of modification hook renabling in org-src fontification
19116         Modification hooks should be enabled while modifying text in the
19117         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
19118         org-src fontify buffers" the hooks were enabled also for modifications
19119         to the original org buffer.  This causes fontification errors when
19120         combined with certain packages, as reported in
19121         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
19123         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
19124         of inhibit-modification-hooks let-binding.
19126 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
19128         epatch: Save right backups in Git multipatches
19130         Multipatches on N Git files save wrong backups for
19131         N-1 files; only the last one has a correct backup (Bug#26084).
19132         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
19133         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
19134         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
19135         Rename from ibuffer-test-bug25010.
19136         (ediff-ptch-test-bug26084): New test.
19138 2017-03-21  Michael R. Mauger  <michael@mauger.com>
19140             * lisp/progmodes/sql.el: Version 3.6
19142             (sql-login-params): Added :must-match for completition of
19143             `server' and `database' login parameters.
19144             (sql-sqlite-login-params, sql-postgres-login-params): Set
19145             :must-match to `confirm'.
19146             (sql-get-login-ext): Use :must-match value to control
19147             `read-file-name' or `completing-read'.
19148             (sql-connect): Added optional BUF-NAME parameter; Reworked
19149             connection variable processing; Pass buffer name to
19150             `sql-product-interactive'.
19151             (sql-product-interactive): Pass buffer name along.
19152             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
19153             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
19154             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
19155             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
19156             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
19157             (sql-comint-vertica): Add optional BUF-NAME, pass to
19158             `sql-comint'.
19159             (sql-oracle--list-oracle-name): New function.
19160             (sql-oracle-list-all): Use it.
19161             (sql-oracle-completion-object): Enhanced.
19163 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
19165         Solve ses-recalculate-cell updating only current line bug.
19167         * lisp/ses.el (ses-recalculate-cell): Add optional argument
19168         ses--curcell to avoid overwriting ses--curcell when function is
19169         called from ses-recalculate-all.  Update docstring accordingly.
19170         (ses-recalculate-all): Call ses-recalculate-cell with argument
19171         ses--curcell to avoid its overwriting.
19173 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19175         Fix problem with out-of-date dependencies
19177         Problem reported by Robert Marshall in:
19178         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
19179         Although this problem has been with us for a while, the recent
19180         change from Automake to GNU Make exposed it again.
19181         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
19182         leftover dependency and object files, since the previous sources'
19183         dependencies may disagree with the current ones.  Reconfiguring
19184         typically needs to force a rebuild anyway.
19186 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
19188         Simpler filter implementation
19190         * lisp/play/dunnet.el (dun-endgame-question): Get or set
19191         dun-endgame-questions one time only.  Use dolist and an index to
19192         prune the list.
19194 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
19196         * lisp/button.el (forward-button): Use user-error instead.
19198 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19200         Merge from gnulib
19202         This gets Emacs working again with HP-UX Itanium cc.
19203         It incorporates:
19204         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
19205         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
19206         2017-03-17 stat-time, timespec: Support header files in C++ mode
19207         2017-03-17 stdalign: Make it work with HP-UX cc
19208         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
19209         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
19210         2017-03-14 gnulib-tool: don't produce tests with only snippets
19211         2017-03-14 limits-h: Make it work with HP-UX cc.
19212         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
19213         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19214         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
19215         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
19216         Copy from gnulib.
19218 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19220         * ChangeLog.2: Merge from emacs-25.
19222 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19224         Fixups after merge from emacs-25
19226         * etc/NEWS: Remove stray entry.
19227         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
19228         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
19229         Make it nondecreasing.
19231 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19233         Merge from origin/emacs-25
19235         d71e071 Improve documentation of interactive "r".
19237 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19239         Merge from origin/emacs-25
19241         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
19242         1925dd9 Fix duplicate wording in Emacs manual
19243         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
19244         2d671fd Fix wording in Emacs manual
19245         a8766a2 Document how to customize input methods
19246         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
19247         aceac95 Fix warning message about native completion (Bug#25984)
19248         a314c1f Clarify documentation of 'raise' and 'height' display specs
19249         f366f6e Mention problems with GPaste in PROBLEMS
19250         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
19251         6406618 Fix doc strings in info.el
19252         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
19253         eed9677 Fix doc string of 'posn-at-point'
19254         0d5957e Documentation fix in elisp reference manual
19256 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19258         Merge from origin/emacs-25
19260         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
19261         2b774fa Mention "editor" in Emacs man page header
19262         ae60d0c Document problems with nerd-fonts
19263         2fdb5a9 ; Details about pinning Emacs to w32 task bar
19264         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
19265         4c51ef4 Clarify what is the "cursor"
19266         8303c32 ; * etc/NEWS: Copyedits.
19267         3f7493e ; Fix a typo in comment
19268         c54cf8d Improve commentary in lisp.h
19269         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
19270         0ba9932 Disable native completion for ipython (Bug#25067)
19271         38fc456 Fix a typo in ada-mode manual
19272         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
19273         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
19275         # Conflicts:
19276         #       etc/NEWS
19277         #       etc/PROBLEMS
19279 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19281         Merge from origin/emacs-25
19283         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
19285 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19287         Merge from origin/emacs-25
19289         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
19291 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19293         Merge from origin/emacs-25
19295         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
19296         7e02a47 Index byte-compile-debug
19297         7c1e598 Document `byte-compile-debug' in the ELisp manual
19298         4d81eb4 Document variable `byte-compile-debug'
19299         72ef710 Fix call to debugger on assertion failure
19300         ae8264c Call modification hooks in org-src fontify buffers
19301         b3139da ; Fix last change in doc/lispref/strings.texi
19302         c331f39 Improve documentation of 'format' conversions
19303         9f52f67 Remove stale functions from ert manual
19304         c416b14 Fix a typo in Eshell manual
19305         06695a0 ; Fix a typo in ediff-merg.el
19306         954e9e9 Improve documentation of hooks related to saving buffers
19307         9fcab85 Improve documentation of auto-save-visited-file-name
19308         2236c53 fix typo in mailcap-mime-extensions
19309         85a3e4e Fix typos in flymake.el
19310         a1ef10e More NEWS checking for admin.el's set-version
19312         # Conflicts:
19313         #       lisp/emacs-lisp/bytecomp.el
19315 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19317         Merge from origin/emacs-25
19319         5569e64 ; Spelling fixes
19320         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
19321         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
19322         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
19323         42eae54 Improve documentation of dabbrevs
19324         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
19325         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
19327         # Conflicts:
19328         #       lisp/textmodes/rst.el
19330 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19332         Merge from origin/emacs-25
19334         0e35405 Improve documentation of coding-systems
19335         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
19336         16fb50d Fix an error message in python.el
19337         a2a2073 Clarify major mode switching
19338         fc38671 Add helpful comment to compile-command's docstring
19339         ee65d85 Fix ':version' of 'select-enable-primary'
19341 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
19343         Fix bug in generator function with pcase (Bug#26068)
19345         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
19346         to symbol-name.
19348 2017-03-19  Alan Mackenzie  <acm@muc.de>
19350         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
19352         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
19353         invocation of c-on-identifier with a check we're not at the _end_ of an
19354         identifier.
19356         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
19357         perl versions of texi2dvi haven't implemented it.
19358         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
19359         in Pike Mode.
19360         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
19361         (FAQ): Add a question about "excessive" indentation of the contents of a C++
19362         lambda function, and how to get rid of it.
19364 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
19366         Remove unused vars in cl-extra.el and tramp.el.
19368         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
19370         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
19371         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
19372         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
19374 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
19376         Improve describe-symbol's layout of slots when describing types
19378         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
19379         (cl--describe-class-slots): Use it.
19381 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
19383         Fix Bug#26156
19385         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
19386         <expand-file-name>: Remove handler.  (Bug#26156)
19388 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
19390         * lisp/obarray.el (obarray-size): Avoid compiler warning.
19392 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
19394         Fix last change in lib/Makefile.in
19396         * lib/Makefile.in (srcdir): Define, as including
19397         $(srcdir)/../nt/gnulib-cfg.mk needs that.
19399 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
19401         * configure.ac: Fix typo in diagnostic.
19403 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
19405         Port out-of-source builds to windows-nt
19407         Problem reported by Angelo Graziosi in:
19408         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
19409         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
19410         to handle out-of-source builds if windows-nt.
19412 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
19414         MS-Windows followup for switch from Automake
19416         * nt/INSTALL:
19417         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
19419 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
19421         Improve documentation of interactive "r".
19423         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
19424         must be set for "r" to work.
19426 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19428         Fixups for GNU Make switchover
19430         This fixes some minor problems introduced in the recent switch to GNU
19431         Make, discovered by further testing.  Without some of these changes
19432         'make -j' would sometimes have race conditions caused by missing
19433         dependencies.  (Bug#26100)
19434         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
19435         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
19436         src/config.in, since the former's timestamp now represents
19437         the latter's.
19438         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
19439         with other autogen.sh invocations.
19440         ($(srcdir)/src/stamp-h.in):
19441         Remove rule, as this file is no longer created.
19442         * Makefile.in (top_distclean):
19443         * src/Makefile.in (bootstrap-clean):
19444         No need to remove stamp-h1, as that was an Automake byproduct
19445         and Automake is no longer in use.
19446         * lib/Makefile.in, src/Makefile.in:
19447         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
19448         (../config.status, Makefile): Simplify by limiting dependencies
19449         to files we care about and files in the repository, and by
19450         using just one file to represent the timestamps on multiple
19451         targets updated by the same rule.
19452         * autogen.sh: Do not create or use src/stamp-h.in.
19453         Instead, have 'find' test the two output files directly.
19455 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19457         Switch from Automake to GNU Make
19459         Emacs assumes GNU Make, and GNU Make has much of the functionality of
19460         Automake built-in.  The Emacs build process uses Automake primarily
19461         because Emacs uses some Gnulib code and Gnulib formerly required
19462         Automake.  Now that Gnulib no longer requires Automake, Emacs can
19463         stop using Automake and this should simplify Emacs maintenance
19464         in the future (Bug#26100).  Although this patch may look long, most of
19465         it is generated automatically: the changes to build-aux/config.guess,
19466         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
19467         all done by admin/merge-gnulib.
19468         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
19469         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
19470         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
19471         as they are no longer built by autogen.sh.
19472         Add lib/gnulib.mk, as it is now built by 'configure'.
19473         Remove nt/gnulib.mk, as it is no longer built by 'make'.
19474         * INSTALL.REPO, README, admin/make-tarball.txt:
19475         Remove mention of Automake.
19476         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
19477         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
19478         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
19479         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
19480         Remove.
19481         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
19482         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
19483         ($(srcdir)/src/config.in):
19484         Use autogen.sh instead of doing it by hand.
19485         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
19486         New vars, to simplify processing of avoided modules.
19487         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
19488         Add --gnu-make, and change makefile name to gnulib.mk.in.
19489         Copy config.guess, config.sub, and install-sh too, since
19490         Automake no longer does that for us.
19491         * admin/notes/copyright:
19492         * admin/update_autogen (genfiles):
19493         Update list of files.
19494         Remove hack for nt/gnulib.mk, a file that is no longer needed.
19495         * autogen.sh (progs): Remove Automake.
19496         (automake_min): Remove.
19497         Build aclocal.m4 so that autoreconf need not use aclocal.
19498         * build-aux/config.guess, build-aux/config.sub:
19499         * build-aux/install-sh:
19500         New files, copied from Gnulib.  These are now updated by
19501         admin/merge-gnulib instead by autogen.sh.
19502         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
19503         Remove.
19504         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
19505         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
19506         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
19507         (--disable-silent-rules): New option, since Automake no longer
19508         does this for us.
19509         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
19510         with AM_SUBST_NOTMAKE.
19511         (AC_PROG_INSTALL): Add call.
19512         (MAKEINFO): Do not bother with the 'missing' program.
19513         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
19514         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
19515         (SUBDIR_MAKEFILES): Remove duplication.
19516         * lib/Makefile.am: Remove, replacing with:
19517         * lib/Makefile.in: New file, with the old Makefile.am contents
19518         and with the following changes:
19519         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
19520         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
19521         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
19522         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
19523         Remove.
19524         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
19525         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
19526         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
19527         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
19528         New macros and rules, since Automake no longer does them.
19529         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
19530         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
19531         Include dependency files if AUTO_DEPEND.
19532         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
19533         New macros.
19534         (bootstrap-clean): Depend on distclean, not maintainer-clean,
19535         and remove gnulib.mk.
19536         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
19537         New macros and rules, copied from ../Makefile.in.
19538         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
19539         (.c.o, e-%.o): New generic rules.
19540         * lib/gnulib.mk: Remove.
19541         * lib/gnulib.mk.in: New file, which is built by autogen.sh
19542         and contains much of what used to be in lib/gnulib.mk.
19543         * m4/gnulib-common.m4: Copy from gnulib.
19544         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
19545         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
19546         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
19547         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
19548         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
19549         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
19550         * nt/gnulib-cfg.mk: New file, which supersedes ...
19551         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
19552         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
19553         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
19554         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
19555         Defer to parent Makefile.
19557 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19559         Don't suggest Mailutils on MS-Windows
19561         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
19562         hasn't been ported.
19564 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
19566         Fix bug: Range-check integer ‘alpha’ frame parm value
19568         Typo introduced 2013-04-01, "Prefer < to >
19569         in range checks such as 0 <= i && i < N".
19571         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19573 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
19575         Fix bug: Range-check integer ‘alpha’ frame parm value
19577         Typo introduced 2013-04-01, "Prefer < to >
19578         in range checks such as 0 <= i && i < N".
19580         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19582 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
19584         Fix Bug#26127
19586         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
19587         there is a function which could be called.  (Bug#26127)
19589         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
19590         Clear also `file-notify-descriptors'.
19591         (file-notify--test-make-temp-name): Move up.
19592         (file-notify-test02-rm-watch): New test.
19593         (file-notify-test03-events, file-notify-test04-autorevert)
19594         (file-notify-test05-file-validity)
19595         (file-notify-test06-dir-validity)
19596         (file-notify-test07-many-events, file-notify-test08-backup)
19597         (file-notify-test09-watched-file-in-watched-dir)
19598         (file-notify-test10-sufficient-resources): Rename.
19600 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19602         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
19604 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
19606         Emacs 'movemail' is now a configure-time option
19608         The new configure option --with-mailutils lets the builder say
19609         that Emacs should assume that GNU Mailutils is installed, instead
19610         of continuing to build and install its own limited and insecure
19611         substitute for 'movemail'.
19612         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
19613         * configure.ac: Add --with-mailutils option.
19614         (with_mailutils): New variable.
19615         Do not bother configuring 'movemail' when not building it.
19616         Warn about issues relating to --with-mailutils.
19617         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
19618         (Movemail, Remote Mailboxes): Document port numbers in
19619         POP and IMAP URLs.
19620         * lib-src/Makefile.in (with_mailutils): New macro.
19621         (UTILITIES): Use it.
19623 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19625         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
19627         * lisp/obarray.el (obarray-size): New function.
19629         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
19630         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
19631         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
19632         Use obarrayp.
19634         * test/lisp/obarray-tests.el (obarray-make-default-test)
19635         (obarray-make-with-size-test): Use it.
19637 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
19639         Document remote file name syntax change
19641         * doc/emacs/files.texi (Remote Files, Quoted File Names):
19642         * doc/misc/org.texi (dir): Change examples to use a method.
19644         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
19645         `Testing' menu entry.
19646         (History): Fix typos.  Mention syntax change.
19647         (Configuration, Default Host, File name Syntax)
19648         (File name completion, Frequently Asked Questions):
19649         Change examples to use a method.
19650         (External methods, Default Host, Multi-hops, Remote processes):
19651         Fix typos.
19652         (Default Method): Mention pseudo method "-".
19653         (External packages): Rewrite intention of `non-essential'.
19655         * etc/NEWS: Mark recent Tramp entries as documented.
19657 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19659         (semantic-lex-type-invalid): Fix nested backquote.
19661         * lisp/cedet/semantic/lex.el: Use lexical-binding.
19662         (semantic-lex-type-invalid): Fix nested backquote.
19663         (semantic-lex-map-symbols, semantic-lex-type-symbol)
19664         (semantic-lex-keyword-symbol): Use obarrayp.
19666 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
19668         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
19670 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
19672         Write a named function
19674         * lisp/comint.el (comint-nonblank-p): New function.
19675         (comint-input-filter): Use it.
19677 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
19679         Replace more nested ifs with cond
19681         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
19682         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
19683         (dun-drop-check, dun-swim, dun-break): Use when and cond where
19684         appropriate.
19685         (dun-examine): Fix indentation.
19686         (dun-doverb): Use when.
19687         (dun-read-line): Refactor.
19689 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
19691         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
19693         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
19694         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
19695         causes the regex engine to backtrack a lot when searching for
19696         "\\s-+$" (Bug#26079).
19698         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
19699         syntax, search for "\\s-$" and then skip backward over trailing
19700         whitespace.
19702 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
19704         Merge from gnulib
19706         This incorporates:
19707         2017-03-14 snippets: move unadjusted snippet sources to lib
19708         2017-03-14 gnulib-tool: fix typo in comment output
19709         2017-03-14 snippets: work around GNU Make 3.82 VPATH
19710         2017-03-13 gnulib-tool: minor --gnu-make fixups
19711         2017-03-12 gnulib-tool: new option --gnu-make
19712         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
19713         lib/warn-on-use.h.  Change exception from
19714         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
19715         * admin/authors.el (authors-renamed-files-regexps):
19716         * admin/notes/copyright, make-dist:
19717         The snippet files moved from build-aux/snippet to lib.
19718         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
19719         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
19720         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
19721         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
19722         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
19724 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
19726         Fix duplicate wording in Emacs manual
19728         * doc/emacs/programs.texi (Which Function): Delete duplicate
19729         wording.  (Bug#26098)
19731 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
19733         Reenable lost Tramp test case
19735         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
19736         Reenable lost test case.
19738 2017-03-14  Alan Third  <alan@idiocy.org>
19740         Revert "Remove NSEvent loop from ns_select (bug#25265)"
19742         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
19744 2017-03-14  Alan Third  <alan@idiocy.org>
19746         Revert "Add missing timeout value in ns_select"
19748         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
19750 2017-03-14  Alan Third  <alan@idiocy.org>
19752         Remove old macOS compatibility code
19754         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
19755         macOS versions below 10.6 as they are not supported in Emacs 25+.
19757 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
19759         Tune `tramp-completion-file-name-regexp-unified'
19761         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
19762         Extend this regexp to match also "/".
19764 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
19766         Show ancestor buffer in 3way merges
19768         Add an option ediff-show-ancestor', to control if the ancestor buffer
19769         must be shown in 3way merges (Bug#25493); set it non-nil by default.
19770         Add a toggle to change this option interactively; the original
19771         value of the option is restored on exit.
19773         Update the window setup so that the ancestor buffer is
19774         shown in 3way merges when ediff-show-ancestor is non-nil.
19776         Any operation on ediff windows must take in account the
19777         ancestor window as well, when this is shown.
19779         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
19780         (ediff--show-ancestor-orig): New defvar.
19781         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
19782         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
19783         Display ancestor buffer if ediff-show-ancestor is non-nil.
19784         (ediff-keep-window-config): Expect ancestor window in
19785         ediff-window-config-saved.
19786         (ediff-window-alist): Add entry for the ancestor window.
19787         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
19788         ediff-window-config-saved contains ancestor window.
19789         (ediff-show-ancestor): Delete this command.
19790         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
19791         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
19792         don't cheat it to think that is performing a comparison, that trick is not
19793         necessary anymore: simply call 'ediff-setup-diff-regions-function'
19794         with file-A, file-B and the file ancestor.
19795         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
19796         (ediff--check-ancestor-exists): New defun.
19797         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
19798         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
19799         (ediff-scroll-vertically, ediff-scroll-horizontally)
19800         (ediff-operate-on-windows): Consider the ancestor as well.
19801         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
19802         List ediff-toggle-show-ancestor.
19803         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
19805 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
19807         diff-mode: Improve default faces for buffer ancestor
19809         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
19810         (ediff-fine-diff-Ancestor): Use defaults consistent with
19811         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
19813 2017-03-14  Hong Xu  <hong@topbug.net>
19815         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
19817 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
19819         Fix make-dist typo
19821         * make-dist: Fix typo introduced in the Bug#25895 fix.
19823 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
19825         Fix wording in Emacs manual
19827         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
19828         (Bug#26086)
19830 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
19832         etc/NEWS: Remote file names require a method.
19834 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
19836         Require method in remote file name syntax
19838         * lisp/minibuffer.el (completion--nth-completion):
19839         Do not bind `non-essential'.
19841         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
19842         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19843         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
19844         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
19845         `tramp-check-proper-method-and-host'.
19847         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
19848         (tramp-maybe-open-connection): Do not use argument for
19849         ´tramp-completion-mode-p'.
19851         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
19852         (tramp-prefix-format, tramp-postfix-method-format)
19853         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
19854         (tramp-prefix-port-format, tramp-postfix-host-format)
19855         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
19856         Use `eq' instead of `eqal'.
19857         (tramp-method-regexp, tramp-domain-regexp)
19858         (tramp-remote-file-name-spec-regexp)
19859         (tramp-file-name-regexp-unified)
19860         (tramp-completion-file-name-regexp-unified)
19861         (tramp-completion-file-name-regexp-separate): Adapt regexp.
19862         (tramp-completion-file-name-handler-alist)
19863         (tramp-run-real-handler): Autoload them.
19864         (tramp-find-method): Handle `tramp-default-method-marker'.
19865         (tramp-check-proper-method-and-host)
19866         (tramp-completion-run-real-handler): Remove them.
19867         (tramp-error-with-buffer, tramp-connectable-p): Do not use
19868         argument for ´tramp-completion-mode-p'.
19869         (tramp-find-foreign-file-name-handler): Remove COMPLETION
19870         argument.  Do not apply heuristic for completion.
19871         (tramp-file-name-handler): Do not modify `non-essential'.
19872         (tramp-completion-file-name-handler): Change implementation.
19873         (tramp-autoload-file-name-handler)
19874         (tramp-completion-handle-file-name-all-completions):
19875         Call `tramp-run-real-handler'.
19876         (tramp-completion-mode-p): Do not autoload.  Remove argument.
19877         Do not apply heuristic for completion.
19878         (tramp-completion-dissect-file-name): Simplify implementation.
19879         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
19881         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
19882         (tramp-test02-file-name-dissect)
19883         (tramp-test03-file-name-defaults)
19884         (tramp-test06-directory-file-name): Adapt to the new syntax.
19885         (tramp-test11-copy-file, tramp-test12-rename-file)
19886         (tramp--test-check-files): Deactivate temporarily tests with
19887         quoted file names.
19888         (tramp-test16-directory-files, tramp-test17-insert-directory):
19889         Adapt tests.
19890         (tramp-test24-file-name-completion): Do not check for
19891         completion mode.
19892         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
19893         two tests.
19895 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
19897         Fix bidi paragraph direction when inserting text at newline
19899         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
19900         paragraph cache when inserting immediately after a newline.
19901         (Bug#26083)
19903 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
19905         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
19907 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
19909         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
19911         (cl-print-object) <compiled-function>: Print the docstring and
19912         interactive form.  Obey cl-print-compiled.
19914 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
19916         Fix indent-sexp when called from inside a string (Bug#21343)
19918         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
19919         state from `syntax-ppss'.
19921 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
19923         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
19925         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
19926         (indent-subsexp, indent-sexp-in-string): New tests.
19928 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
19930         Use switch on pseudovector types; plus cleanups along the way
19932         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
19933         (PSEUDOVECTOR_TYPEP): Change type of `code'.
19935         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
19936         (mark_object): Use PSEUDOVECTOR_TYPE.
19938         * src/data.c (Ftype_of): Use switch on pvec type.
19940         * src/print.c (print_object): Use switch on pvec type.
19942         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
19943         Add recently added types.
19945 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
19947         Install update-game-score only on request
19949         Most distributions do not install update-game-score properly
19950         due to setuid/setgid complications, so install it only when
19951         the installer specifies a user or group (Bug#25895).
19952         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
19953         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
19954         New vars.
19955         (epaths-force): Use PATH_GAME.
19956         (uninstall): Remove snake-scores and tetris-scores only if shared.
19957         * configure.ac: Default --with-gameuser to 'no'.
19958         (UPDATE_MANIFEST): Remove.
19959         * etc/NEWS: Mention this.
19960         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
19961         (use_gamedir): New macro.
19962         (UTILITIES): Remove update-game-score unless use_gamedir.
19963         (SCRIPTS): Remove $(UPDATE_MANIFEST).
19964         ($(DESTDIR)${archlibdir}): Install game directory program and data
19965         only if use_gamedir.
19966         * lib-src/update-game-score.exe.manifest: Remove, as
19967         update-game-score is no longer installed on MS-Windows.
19968         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
19969         Use auxiliary program only if setuid or setgid.
19970         * make-dist: Do not distribute update-game-score.exe.manifest.
19971         * src/callproc.c (init_callproc):
19972         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
19973         (syms_of_callproc): Remove unnecessary initialization of
19974         Vshared_game_score_directory.
19976 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
19978         Add `touch-action' to list of CSS properties
19980         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
19981         property.
19983 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
19985         Teach etags to process ENUM_BF correctly
19987         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
19988         (hash): Regenerated values for asso_values[] array.
19989         (in_word_set): Update values of TOTAL_KEYWORDS and
19990         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
19991         (in_enum_bf): New file-global variable.
19992         (consider_token): Skip ENUM_BF if not in a macro definition.
19993         (C_entries): Reset the in_enum_bf flag when past its closing
19994         parenthesis.
19996         * test/manual/etags/ETAGS.good_1:
19997         * test/manual/etags/ETAGS.good_2:
19998         * test/manual/etags/ETAGS.good_3:
19999         * test/manual/etags/ETAGS.good_4:
20000         * test/manual/etags/ETAGS.good_5:
20001         * test/manual/etags/ETAGS.good_6:
20002         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
20004 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
20006         Use path/to/file instead of path/to.file in tramp.texi
20008         * doc/misc/tramp.texi (Configuration, File name Syntax):
20009         Use path/to/file instead of path/to.file.
20011 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
20013         Remove some stray gnulib files
20015         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
20016         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
20017         the --avoid=unsetenv option avoided most of it anyway.
20018         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
20019         * lib/gnulib.mk: Regenerate.
20021 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
20023         Merge from gnulib
20025         This incorporates:
20026         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
20027         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
20029 2017-03-12  Glenn Morris  <rgm@gnu.org>
20031         Remove trivial duplication in epg-config
20033         * lisp/epg-config.el (epg-config--program-alist):
20034         Use epg-gpg-minimum-version.
20036 2017-03-12  Glenn Morris  <rgm@gnu.org>
20038         Small epg-find-configuration improvement
20040         * lisp/epg-config.el (epg-find-configuration):
20041         Handle epg-gpg-program customized but not saved.  (Bug#25947)
20043 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
20045         Improve last change
20047         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
20048         Use ppss to check escaping and add help-echo.
20050 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
20052         Highlight useless backslashes in Elisp strings
20054         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
20055         Put warning face on backslashes that have no effect.
20057 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
20059         Document how to customize input methods
20061         * doc/emacs/mule.texi (Input Methods): Document how to customize
20062         input methods.
20064 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
20066         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
20068 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
20070         Fix generation of nt/gnulib.mk on macOS
20072         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
20073         to Sed, as that is not portable with non-GNU Sed variants.
20074         (Bug#26043)
20076 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
20078         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
20080         * src/xdisp.c (handle_single_display_spec): If position to be
20081         restored after processing the display property comes from an
20082         overlay, protect against that overlay's end point being outside of
20083         the narrowed region.
20084         Reported by Filipe Silva <filipe.silva@gmail.com> in
20085         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
20087 2017-03-10  Glenn Morris  <rgm@gnu.org>
20089         Small improvement for epa-display-error (bug#24553)
20091         * lisp/epa.el (epa-display-error): Report the actual program in use.
20093 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
20095         Tweak X toolkit code to pacify modern GCC
20097         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
20098         Don’t include <stdlib.h>, since this code now calls emacs_abort
20099         rather than abort.
20100         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
20101         (wm_delete_window):
20102         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
20103         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
20104         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
20105         (separator_height, XlwMenuInitialize):
20106         Use emacs_abort, not abort.  Without this change, some calls
20107         to ‘abort’ were invalid, as stdlib.h was not always included.
20108         * src/widget.c (resources, emacsFrameClassRec):
20109         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
20110         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
20111         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
20112         (x_term_init) [USE_X_TOOLKIT]:
20113         Cast string constants to char * to pacify --enable-gcc-warnings.
20115 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
20117         * doc/misc/tramp.texi (Android shell setup): Require adb program
20119 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
20121         Adapt tramp-tests.el
20123         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
20124         (tramp-test24-file-name-completion): Call
20125         `tramp-completion-mode-p' with argument.
20127 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
20129         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
20131         * doc/lispref/processes.texi (Bindat Examples):
20132         Mention two examples in intro blurb; rewrite first example.
20134 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
20136         Simplify checks for xdg-open and xdg-email
20138         browse-url's xdg-open detection was too picky on some GNU/Linux
20139         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
20140         if it is executable, as nowadays this is more likely to be correct than
20141         trying to use heuristics from a few years ago.  Don't test for nohup: it
20142         is ineffective nowadays, as xdg-open's child uses the default action for
20143         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
20144         allow for Wayland here, as "emacs -nw" might be running in a non-X
20145         Wayland terminal.
20146         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
20147         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
20148         Simplify to a test for DISPLAY and whether the helper program is
20149         executable.  Allow WAYLAND_DISPLAY as an option.
20151 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
20153         Byte compile cond clauses without any bodies correctly.
20155         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
20156         cond clause has no body, push t on to the stack.
20158 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
20160         Fix bug#23006
20162         * lisp/minibuffer.el (completion--nth-completion):
20163         Let-bind `non-essential'.
20165         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
20166         (tramp-completion-mode-p): Optional parameter VEC.  Replace
20167         check for `last-input-event' by analysing VEC argument.
20168         (tramp-error-with-buffer, tramp-file-name-handler)
20169         (tramp-connectable-p, tramp-handle-file-name-as-directory):
20170         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
20172 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
20174         etc/NEWS: Add entry for new `switch' bytecode.
20176 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20178         * src/data.c (arithcompare): Add comments.
20180 2017-03-08  Glenn Morris  <rgm@gnu.org>
20182         Update a cl-print test
20184         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
20185         Update for recent change in cl-print-object function output.
20187 2017-03-08  Sam Steingold  <sds@gnu.org>
20189         Replace change-log-date-face -> change-log-date
20191         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
20193 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
20195         Fix bug#26011
20197         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
20198         Check, whether file is too large.  (Bug#26011)
20200 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
20202         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
20203         (Fmax, Fmin): Restore documentation.
20205         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
20206         comparisons that are written backward.
20208 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
20210         [doc elisp] Add some index entries for "old" advice mechanism
20212         * doc/lispref/functions.texi (Porting old advice):
20213         Add one @cindex and two @findex entries.
20215 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20217         * etc/NEWS: Adjust to match previous patch.
20219 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20221         min and max should not return markers
20223         Problem reported by Glenn Morris in:
20224         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
20225         * src/data.c (minmax_driver): Convert any marker result to an
20226         integer, since some callers assume this.
20227         * test/src/data-tests.el (data-tests-max, data-tests-min):
20228         Test for this.
20230 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
20232         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
20234 2017-03-08  Alan Third  <alan@idiocy.org>
20236         Add missing timeout value in ns_select
20238         * src/nsterm.m (ns_select): Set timeout to distant future when relying
20239         on fd_handler's timeout.
20241 2017-03-07  Glenn Morris  <rgm@gnu.org>
20243         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
20245 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20247         Remove isnan hack for Solaris 10 gcc 3.4.3
20249         This seems to have been a false alarm (Bug#26018).
20250         * src/data.c (isnan):
20251         * src/floatfns.c (isfinite, isnan):
20252         Use standard implementation if available.
20254 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
20256         Support browsing URLs with embedded spaces on MS-Windows
20258         * lisp/net/browse-url.el (browse-url-default-windows-browser):
20259         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
20260         support that in file:// URLs.  (Bug#26014)
20262 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20264         Define copysign on all platforms
20266         * configure.ac (copysign): Remove test.
20267         * src/floatfns.c (signbit): New macro, if not already defined.
20268         (Fcopysign): Use it instead of copysign.
20269         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
20271 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20273         Revert "Replace ldefs-boot with a much smaller file"
20275         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
20277         This commit has been reverted because the new mechanism was too
20278         sensitive to changes in the lisp source, generation of new ldefs-boot
20279         files was platform specific and resulted in warnings about undefined
20280         variables.
20282         See also 11436e2890d.
20284 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20286         Revert "Record autoloads till emacs dump"
20288         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
20290         This commit has been reverted because the new mechanism was too
20291         sensitive to changes in the lisp source, generation of new ldefs-boot
20292         files was platform specific and resulted in warnings about undefined
20293         variables.
20295         See also 11436e2890d.
20297 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20299         Revert "Remove unused ldefs-boot.el"
20301         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
20303         This commit has been reverted because the new mechanism was too
20304         sensitive to changes in the lisp source, generation of new ldefs-boot
20305         files was platform specific and resulted in warnings about undefined
20306         variables.
20308         See also 11436e2890d.
20310 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20312         Revert "Remove conditional includes from bootstrap"
20314         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
20316         This commit has been reverted because the new mechanism was too
20317         sensitive to changes in the lisp source, generation of new ldefs-boot
20318         files was platform specific and resulted in warnings about undefined
20319         variables.
20321         See also 11436e2890d.
20323 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20325         Revert "Speed generation of ldefs-boot-auto"
20327         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
20329         This commit has been reverted because the new mechanism was too
20330         sensitive to changes in the lisp source, generation of new ldefs-boot
20331         files was platform specific and resulted in warnings about undefined
20332         variables.
20334         See also 11436e2890d.
20336 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
20338         Revert "Fix minor problems with loaddefs autogeneration"
20340         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
20342         This commit has been reverted because the new mechanism was too
20343         sensitive to changes in the lisp source, generation of new ldefs-boot
20344         files was platform specific and resulted in warnings about undefined
20345         variables.
20347 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
20349         Set default when asking for send-mail-function (Bug#25874).
20351         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
20352         option as default for `completing-read'.
20354 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20356         min and max now return one of their arguments
20358         * doc/lispref/numbers.texi (Comparison of Numbers):
20359         * etc/NEWS: Document this.
20360         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
20361         (minmax_driver): New function.
20362         (Fmax, Fmin): Use it instead of arith_driver.
20363         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
20365 2017-03-06  Alan Third  <alan@idiocy.org>
20367         Remove NSEvent loop from ns_select (bug#25265)
20369         * src/nsterm.m (ns_select): Remove event processing loop and replace
20370         with simple test for a new event.
20372 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
20374         A better fix for bug#25845
20376         * src/xdisp.c (font_for_underline_metrics): New function.
20377         * src/dispextern.h: Add its prototype.
20378         * src/xterm.c (x_draw_glyph_string):
20379         * src/w32term.c (x_draw_glyph_string):
20380         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
20381         having identical code 3 times in 3 different files.
20383 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
20385         Fix warning message about native completion (Bug#25984)
20387         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
20388         The relevant variable is `python-shell-completion-native-enable'.
20390 2017-03-06  Tom Tromey  <tom@tromey.com>
20392         Fix typos in EIEIO manual
20394         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
20396 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20398         Merge from gnulib
20400         This incorporates:
20401         2017-03-04 dtotimespec: simplify
20402         * lib/dtotimespec.c: Copy from gnulib.
20404 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20406         ffloor etc. now accept only floats
20408         * etc/NEWS: Say why.
20409         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
20410         Require arg to be float.
20411         * test/src/floatfns-tests.el (fround-fixnum): Check this.
20413 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
20415         Fix display of cursor on underlined text
20417         * src/nsterm.m (ns_draw_text_decoration):
20418         * src/xterm.c (x_draw_glyph_string):
20419         * src/w32term.c (x_draw_glyph_string): Compute the position and
20420         thickness of the underline by looking for the first glyph of the
20421         run of underlined glyphs that includes the glyph string we are
20422         drawing.  (Bug#25845)
20424 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
20426         Add more CL concept index items, print Concept Index
20428         * doc/misc/cl.texi: Print concept index.
20429         (Generalized Variables, Variable Bindings):
20430         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
20431         (Blocks and Exits, Iteration, Multiple Values): Add concept index
20432         items.
20434 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
20436         Add 'loop facility' to the CL concept index
20438         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
20439         index item.
20441 2017-03-05  martin rudalics  <rudalics@gmx.at>
20443         In `window--display-buffer' fix behavior reported in Bug#25946
20445         * lisp/window.el (window--display-buffer): Set the dedicated
20446         status of the window used and clear its history of previous
20447         buffers also for the case that the window already shows the
20448         buffer to be displayed.  (Bug#25946)
20450 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20452         Compare and round more carefully
20454         * etc/NEWS: Document this.
20455         * src/data.c (store_symval_forwarding):
20456         * src/sound.c (parse_sound):
20457         Do not botch NaN comparison.
20458         * src/data.c (cons_to_unsigned, cons_to_signed):
20459         Signal an error if a floating-point arg is not integral.
20460         * src/data.c (cons_to_unsigned, cons_to_signed):
20461         * src/fileio.c (file_offset):
20462         Use simpler overflow check.
20463         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
20464         Avoid rounding error in overflow check.
20465         (Fcar_less_than_car): Use arithcompare directly.
20466         * test/src/charset-tests.el: New file.
20468 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20470         Fewer rounding errors with (format "%f" fixnum)
20472         * etc/NEWS: Document this.
20473         * src/editfns.c (styled_format): When formatting integers via a
20474         floating-point format, use long double instead of double
20475         conversion, if long double’s extra precision might help.
20477 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20479         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
20481         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
20483 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
20485         Clarify documentation of 'raise' and 'height' display specs
20487         * doc/lispref/display.texi (Other Display Specs): Clarify the
20488         effect of 'height' display spec on the following 'raise'.
20489         (Bug#25824)
20491 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
20493         Fix header shown by Info 'L' command
20495         * lisp/info.el (Info-history-find-node): A better heading for the
20496         list of visited nodes.  (Bug#25876)
20498 2017-03-04  K. Handa  <handa@gnu.org>
20500         Add a section about incorrect Bengali rendering.
20502 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
20504         Fix minor problems with loaddefs autogeneration
20506         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
20507         and coding-system-for-write, to produce a UTF-8 file with Unix
20508         EOLs on MS-Windows.
20510         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
20512 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
20514         Fix issues with dedicated windows in shr.el
20516         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
20517         the window not dedicated, to avoid errors if it was, before
20518         setting its buffer temporarily.  (Bug#25828)
20520 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
20522         Mention problems with GPaste in PROBLEMS
20524         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
20525         GPaste, and its solution.  (Bug#25902)
20527 2017-03-04  Glenn Morris  <rgm@gnu.org>
20529         Avoid duplicate gud menu items with gdb-mi
20531         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
20532         entries in gdbmi mode.  (Bug#23923)
20534 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20536         * src/editfns.c (styled_format): Omit unnecessary code.
20538 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20540         logb now works correctly on large integers
20542         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
20543         * etc/NEWS: Document the change.
20544         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
20545         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
20546         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
20547         * src/floatfns.c: Include count-leading-zeros.h.
20548         (Flogb): Do not convert fixnum to float before taking the log,
20549         as the rounding error can cause the answer to be off by 1.
20550         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
20551         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
20553 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
20555         Merge from gnulib
20557         This incorporates:
20558         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
20559         2017-02-24 ftoastr: port to -Wdouble-promotion
20560         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
20562 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
20564         Avoid duplicating characters recorded in macros
20566         * src/keyboard.c (record_char): Don't store in macro definitions
20567         characters that came from executing a macro.  (Bug#25860)
20569 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
20571         Fix color component calculations in color.el
20573         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
20574         (color-rgb-to-hex): Accept an optional argument
20575         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
20576         notation either for 8 or 16 bits per component.  (Bug#25890)
20577         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
20578         color-rgb-to-hex with the optional argument of 2, to match color
20579         processing on the Web.
20581 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
20583         Use lexical binding in benchmark.el
20585         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
20586         (benchmark-elapse): Use 'declare'.
20587         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
20589 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
20591         Switch pp.el to lexical binding
20593         Additionally, do some minor code cleanup.
20595         * lisp/emacs-lisp/pp.el: Set lexical-binding.
20596         (pp-buffer): Use skip-syntax-forward.
20597         (pp-eval-expression): Use push.
20598         (pp-last-sexp): Use with-syntax-table.
20599         * test/lisp/emacs-lisp/pp-tests.el: New tests.
20601 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
20603         Fix completing-read call in reb-change-syntax
20605         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
20606         of completing-read.
20608 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
20610         sql-mode w/ sqlite: In-memory database
20612         Enable the usage of an in-memory database. Prior to this, sql-mode w/
20613         sqlite could only be used with file databases.
20614         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
20615         file name provided by the user, but call sub-process sqlite with that,
20616         in which case it uses an in-memory database.
20618 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
20620         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
20622         `abbrev--before-point' does not adjust `pos' to account for when it
20623         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
20624         `abbrev-before-point' goes to restore point, it moves point one
20625         character too far forward.
20627         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
20629 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
20631         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
20633 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20635         Restore XFLOATINT but with restricted args
20637         Turn instances of extract_float into XFLOAT_DATA when possible,
20638         and to a resurrected XFLOATINT when the arg is a number.
20639         The resurrected XFLOATINT is more like XFLOAT and XINT in
20640         that is valid only if its arg is a number.  This clarifies
20641         the ways in which floats can be extracted at the C level.
20642         * src/editfns.c (styled_format):
20643         * src/floatfns.c (extract_float, Fexpt):
20644         Use XFLOATINT rather than open-coding it.
20645         * src/fns.c (internal_equal):
20646         * src/image.c (imagemagick_load_image):
20647         * src/xdisp.c (resize_mini_window):
20648         Prefer XFLOAT_DATA to extract_float on values known to be floats.
20649         * src/frame.c (x_set_screen_gamma):
20650         * src/frame.h (NUMVAL):
20651         * src/image.c (x_edge_detection, compute_image_size):
20652         * src/lread.c (read_filtered_event):
20653         * src/window.c (Fset_window_vscroll):
20654         * src/xdisp.c (handle_single_display_spec, try_scrolling)
20655         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
20656         (on_hot_spot_p):
20657         Prefer XFLOATINT to extract_float on values known to be numbers.
20658         * src/lisp.h (XFLOATINT): Bring back this function, except
20659         it now assumes its argument is a number.
20661 2017-03-02  Glenn Morris  <rgm@gnu.org>
20663         Ert commands to error if no test at point (bug#25931)
20665         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
20666         Deactivate some items if no test at point.
20667         (ert--results-test-at-point-no-redefinition):
20668         Add option to signal an error rather than return nil.
20669         (ert-results-pop-to-backtrace-for-test-at-point)
20670         (ert-results-pop-to-messages-for-test-at-point)
20671         (ert-results-pop-to-should-forms-for-test-at-point)
20672         (ert-results-describe-test-at-point): Error if no test at point.
20674 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20676         Remove XFLOATINT
20678         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
20679         All callers changed to use extract_float.
20680         * src/frame.h (NUMVAL): Now an inline function, not a macro.
20682 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
20684         Fix rounding errors in <, =, etc.
20686         * etc/NEWS: Document this.
20687         * src/bytecode.c (exec_byte_code):
20688         * src/data.c (arithcompare):
20689         Do not lose information when comparing floats to integers.
20690         * test/src/data-tests.el (data-tests-=, data-tests-<)
20691         (data-tests->, data-tests-<=, data-tests->=):
20692         Test this.
20694 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
20696         Fix display of mouse-highlight produced by overlapping overlays
20698         * src/xfaces.c (face_at_buffer_position): If called to find the
20699         mouse-face, only consider the highest-priority source for that
20700         face, and ignore the rest.  Previously, all the mouse-face
20701         definitions at POS were merged in that case.
20702         * src/xdisp.c (note_mouse_highlight): Record the overlay that
20703         specifies mouse-face _after_ clearing the info about the previous
20704         overlay, so as not to clear the information about the just-recorded
20705         overlay.  (Bug#25906)
20707 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
20709         Fix display of strike-through text in variable-height lines
20711         * src/nsterm.m (ns_draw_text_decoration):
20712         * src/xterm.c (x_draw_glyph_string):
20713         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
20714         strike-through y-coordinate for a glyph row which is taller than
20715         the strike-through text.  (Bug#25907)
20717 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
20719         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
20721         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
20722         don't call x_net_wm_state when the window is a scroll bar window.
20723         (Bug#24963, Bug#25887)
20725 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
20727         gnus-summary-select-article-buffer: Don't re-render existing article
20729         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
20730         Don't re-render existing article.
20732 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
20734         Don't add debbugs address to message body (bug#25896)
20736         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
20737         Don't add debbugs address to message body (bug#25896), and
20738         don't add it to message header either if it already exists.
20740 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
20742         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
20744         (semanticdb--ih): Declare.
20745         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
20746         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
20747         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
20749 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
20751         * lisp/help-fns.el (describe-variable): Use cl-print for the value
20753         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
20755 2017-03-02  Glenn Morris  <rgm@gnu.org>
20757         * test/lisp/net/puny-tests.el: New file.
20759 2017-03-02  Glenn Morris  <rgm@gnu.org>
20761         Small puny.el fix
20763         * lisp/net/puny.el (puny-decode-string-internal):
20764         Handle strings with no ascii parts.  (Bug#23688)
20766 2017-03-02  Glenn Morris  <rgm@gnu.org>
20768         Small recover-this-file improvement
20770         * lisp/files.el (recover-this-file): Explicit error if not
20771         visiting a file.  (Bug#23671)
20773 2017-03-01  Glenn Morris  <rgm@gnu.org>
20775         Fix for coding-system completion (bug#23670)
20777         * lisp/international/mule.el (read-buffer-file-coding-system):
20778         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
20779         so that completion-pcm--pattern->regex can append "*?".
20781 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20783         Fix rounding error in ‘ceiling’ etc.
20785         Without this fix, (ceiling most-negative-fixnum -1.0) returns
20786         most-negative-fixnum instead of correctly signaling range-error,
20787         and similarly for floor, round, and truncate.
20788         * configure.ac (trunc): Add a check, since Gnulib’s doc says
20789         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
20790         also missing from some other older operating systems like Solaris
20791         9 which I know we don’t care about any more, so MSVC is the only
20792         reason to worry about ‘trunc’ here.
20793         * src/editfns.c (styled_format): Formatting a float with %c is now an
20794         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
20795         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
20796         only as a result of my misunderstanding old code that I introduced
20797         2011.  Although %d etc. is sometimes used on floats that represent
20798         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
20799         happen with characters.
20800         * src/floatfns.c (rounding_driver): Rework to do the right thing
20801         when the intermediate result equals 2.305843009213694e+18, i.e.,
20802         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
20803         Simplify so that only one section of code checks for overflow,
20804         rather than two.
20805         (double_identity): Remove.  All uses changed to ...
20806         (emacs_trunc): ... this new function.  Add replacement for
20807         platforms that lack ‘trunc’.
20808         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
20809         Make it clear that the arg cannot be floating point.
20810         * test/src/editfns-tests.el (format-c-float): New test.
20811         * test/src/floatfns-tests.el: New file, to test for this bug.
20813 2017-03-01  Glenn Morris  <rgm@gnu.org>
20815         Small help--loaded-p fix
20817         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
20818         with nil file name.  (Bug#25847)
20820 2017-03-01  Leo Liu  <sdl.web@gmail.com>
20822         * src/fns.c (Fbuffer_hash): Doc fix.
20824 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
20826         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
20828         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
20829         Instead, use a plain concat, which will create a string out of a list
20830         of characters.
20832 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
20834         Fix epg-tests with dummy-pinentry program (Bug#23619)
20836         * test/data/epg/dummy-pinentry: New file.
20837         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
20838         when a passphrase is required.  Add debug declaration.  Set
20839         GPG_AGENT_INFO non-destructively.
20841 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20843         Speed generation of ldefs-boot-auto
20845         Previously, generation of ldefs-boot-auto required at least one full
20846         bootstrap and, in extreme cases, two. Now, from build system, it
20847         requires the same time as taken to dump Emacs.
20849         * Makefile.in: Remove all calls, pass to src.
20850         * admin/ldefs-clean.el: Update for changed messages.
20851         * lisp/Makefile.in (compile-first-delete): Add.
20852         * lisp/ldefs-boot-auto.el: Update.
20853         * src/Makefile.in (generate-ldefs-boot): Add.
20855 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20857         Add error handling to magic-mode-alist
20859         * lisp/files.el (set-auto-mode): Add explicit error handling in two
20860           places.
20862 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20864         Remove conditional includes from bootstrap
20866         Previously, bootstrap-emacs includes optional functionality, depending
20867         on the platform which is not needed for bootstrap function.  As a
20868         result, bootstrap-emacs contains different functions in different
20869         circumstances.  If ldefs-boot-auto.el is generated, then loaded
20870         functions will not be added to ldefs-boot-auto.el, although they may be
20871         required during some builds.  With this change, bootstrap-emacs should
20872         always behave the same way and, therefore, require the same autoloads.
20874          * lisp/loadup.el: No longer load optional includes during bootstrap
20875            dumping.
20876          * lisp/ldefs-boot-auto.el: Regenerate.
20877          * lisp/ldefs-boot-manual.el: Add two autoloads.
20879 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
20881         Do not use find-file non-interactively
20883          * lisp/international/titdic-cnv.el (miscdic-convert): Use
20884            insert-file-contents in place of find-file.
20886 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20888         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
20890         (update_overlay_arrows): Skip non-markers.
20892 2017-02-28  Ken Brown  <kbrown@cornell.edu>
20894         Try to avoid hang when logging out of MS-Windows
20896         * src/w32term.c (x_update_window_begin, x_update_window_end)
20897         (my_show_window, my_set_window_pos, my_set_focus)
20898         (my_set_foreground_window, my_destroy_window)
20899         (my_bring_window_to_top, x_iconify_frame): Replace calls to
20900         SendMessage by calls to SendMessageTimeout with a 6-second
20901         timeout.  (Bug#25875)
20903 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20905         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
20907 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20909         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
20911         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
20912         (Methods): Document cl-defmethod.
20913         Explain in more detail the order in which the various
20914         methods are executed.  Document the conditions under which a method
20915         is redefined.  Remove reference to `eieio-generic-call-arglst`.
20916         Don't document the precise return value of cl-next-method-p.
20917         (Static Methods): Adjust to use `subclass` specializer.
20918         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
20919         (Signal Handling, Signals): Adjust names and args for cl-generic; add
20920         cl-no-primary-method.
20921         (CLOS compatibility, Wish List): Adjust to new featureset.
20923 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20925         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
20927         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
20929 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20931         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
20933         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
20934         (sgml-syntax-propertize-inside): New fun.
20936 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20938         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
20940         ": ;" after completing a property.
20942 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
20944         Show Ibuffer and jump to line listing current buffer
20946         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
20948 2017-02-27  Juri Linkov  <juri@linkov.net>
20950         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
20952         before adding it to the list of files.
20954 2017-02-27  Juri Linkov  <juri@linkov.net>
20956         Put text properties on query-replace separator string instead of "\0"
20958         * lisp/replace.el (query-replace--split-string):
20959         Split at a substring instead of just character.
20960         (query-replace-read-from): Put text properties on the
20961         separator string instead of "\0".  (Bug#25482)
20963 2017-02-27  Juri Linkov  <juri@linkov.net>
20965         Add file name and its extension to suggestions in dired-mark-files-regexp
20967         * lisp/dired.el (dired-mark-files-regexp): Add file name
20968         and its extension to the list of suggested defaults.  (Bug#25578)
20970 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
20972         Prompt default extension in dired-mark-extension
20974         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
20975         based on extension of file at point.  (Bug#25578)
20977 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
20979         Prevent for consing in cl-mapc and cl-mapl
20981         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
20982         If non-nil, accumulate values in the result (Bug#25826).
20983         (cl-mapc): Do computations inside function instead of call cl-map.
20984         (cl-mapl): Do computations inside function instead of call cl-maplist.
20985         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
20986         Call cl--mapcar-many with non-nil 3rd argument.
20987         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
20988         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
20989         (cl-extra-test-maplist): New tests.
20991 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
20993         Choose the right target dir on dired operations
20995         Prevent from changing the input target dir
20996         when dired-dwim-target is non-nil (Bug#25609).
20997         * lisp/dired-aux.el (dired-do-create-files):
20998         If dired-dwim-target is non-nil, then bind 'default' to nil.
20999         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
21001 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21003         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
21005 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
21007         Don't record eshell/clear "command" in history (Bug#25838)
21009         `eshell/clear' is implemented by sending a series of blank lines,
21010         which is not a useful thing to have in the history.
21012         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
21013         `string-blank-p' which does check for newlines (even though newlines
21014         have comment-end syntax, not whitespace syntax class).
21015         * lisp/eshell/esh-mode.el (eshell/clear): Remove
21016         `eshell-add-to-history' from `eshell-input-filter-functions' while
21017         sending the blank lines.  This change is needed to solve the bug if
21018         the user customizes `eshell-input-filter' to something that doesn't
21019         filter newlines.
21021 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
21023         Remove a few unused C functions
21025         * src/eval.c (let_shadows_global_binding_p):
21026         * src/print.c (write_string):
21027         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
21028         Remove.
21029         * src/print.c (write_string): Rename from write_string_1.
21030         All uses changed.
21032 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
21034         Avoid segfault in overlay_arrows_changed_p
21036         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
21037         to avoid a segfault.
21039 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
21041         Don't call package--ensure-init-file if initialized during startup
21043         * lisp/emacs-lisp/package.el (package-initialize): Check
21044         `after-init-time' rather than `load-file-name' to decide if
21045         `package--ensure-init-file' should be called.  Depending on
21046         `load-file-name' will fail if the user calls `pacakge-initialize' in
21047         file which is loaded from the init file (Bug#24643, Bug#25819).
21049 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
21051         Fix display of before- and after-strings at invisible text
21053         * src/xdisp.c (next_overlay_string): Don't raise the
21054         ignore_overlay_strings_at_pos_p flag if the iterator is already
21055         set to continue at a buffer position different from the one
21056         where the overlay strings we just processed were loaded.  (Bug#25856)
21058 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
21060         Work on `tramp-completion-mode-p'
21062         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
21064         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
21065         (tramp-completion-mode-p): Reintroduce the check for 'tab.
21067 2017-02-25  Tom Tromey  <tom@tromey.com>
21069         Use font-lock-doc-face in js-mode
21071         Bug#25858:
21072         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
21073         defun.
21074         (js-mode): Use it.
21075         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
21076         test.
21078 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
21080         Don't use IP 0.0.0.0 for package test server (Bug#22582)
21082         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
21083         'server_address' when port number is given on the command line.  Print
21084         IP and port number as a URL, and flush it after printing.
21085         * test/lisp/emacs-lisp/package-tests.el:
21086         (package-test-update-archives-async): Grab the whole URL from server
21087         output.
21089 2017-02-25  Tom Tromey  <tom@tromey.com>
21091         Add more branch support to vc-dir
21093         Bug#25859:
21094         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
21095         * lisp/vc/vc.el (vc-revision-history): New defvar.
21096         (vc-read-revision): Use vc-revision-history.
21097         (vc-print-branch-log): New function.
21098         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
21099         bindings.
21100         * etc/NEWS: Mention new vc-dir bindings.
21102 2017-02-25  Alan Mackenzie  <acm@muc.de>
21104         Allow for the :: operator in C++ "enum class" declarations.
21106         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
21107         "::".
21109 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
21111         Fix bug#25854
21113         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
21114         Simplify error handling for huge inodes.
21115         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
21117 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
21119         Avoid leaving garbage on screen when using 'raise' display property
21121         * src/xdisp.c (display_line): Reset voffset value of the iterator
21122         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
21123         which then leaves stuff on screen that needs to be cleared by
21124         redisplay.  (Bug#25855)
21126 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
21128         Fix doc strings in info.el
21130         * lisp/info.el (Info-selection-hook, Info-mode-hook)
21131         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
21133 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
21135         Fix doc string of 'posn-at-point'
21137         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
21138         (Bug#25796)
21140 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
21142         New option -u / --suppress-output to emacsclient
21144         * lib-src/emacsclient.c (print_help_and_exit, longopts)
21145         (decode_options, main): Implement new option --suppress-output / -u to
21146         suppress printing of eval-results.
21147         * doc/emacs/misc.texi (emacsclient Options): Document the new
21148         "--suppress-output/-u" options.
21149         * etc/NEWS: Mention the new options.
21151 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
21153         Fix scrolling with partial line corner case (Bug#25792)
21155         Also fix up the scrolling tests so that they don't make so many
21156         assumptions about the current window configuration.
21158         * src/xdisp.c (try_window): Take partial line height into account when
21159         comparing cursor position against scroll margin.
21161         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
21162         HEIGHT argument, to allow setting up window with exact height and
21163         partial line.
21164         (scroll-tests-display-buffer-with-height): New display-buffer action
21165         function.
21166         (scroll-tests-scroll-margin-over-max):
21167         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
21168         `scroll-tests--scroll-margin-whole-window'.
21169         (scroll-tests-conservative-show-trailing-whitespace): New test.
21170         (scroll-tests-scroll-margin-negative): Fix line counting.
21171         (scroll-tests--point-in-middle-of-window-p): Set window height
21172         properly.
21174 2017-02-25  Tom Tromey  <tom@tromey.com>
21176         Fix indentation error in js.el
21178         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
21179         call in condition-case.
21180         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
21181         test.
21183 2017-02-24  Tom Tromey  <tom@tromey.com>
21185         add "async" and "await" keywords
21187         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
21189 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21191         Use cl-print for Edebug and EIEIO
21193         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
21194         (edebug-prin1, edebug-print): Remove.
21196         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
21197         (cl-print-object): Add a method for EIEIO objects.
21198         (eieio-edebug-prin1-to-string): Delete.
21199         (edebug-prin1-to-string): Don't advise any more.
21201         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
21202         Replace `object-print' -> `cl-prin1-to-string'.
21204 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21206         Fix left over uses of `call-next-method'
21208         * lisp/cedet/semantic/db-global.el (object-print):
21209         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
21211 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21213         Minor redisplay optimizations
21215         * src/frame.c (Ficonify_frame): No need to redisplay everything.
21217         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
21218         (redisplay_internal): Use it to avoid redisplaying everything.
21219         (try_window_id): Use it keep the same behavior as before.
21221 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21223         * lisp/emacs-lisp/cl-print.el: New file
21225         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
21226         (advice--make-docstring): Use it.
21228         * src/print.c (print_number_index): Don't declare here any more.
21229         (Fprint_preprocess): New function.
21231         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
21233 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
21235         Make calc's least common multiple positive (bug#25255)
21237         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
21238         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
21240 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
21242         Documentation fix in elisp reference manual
21244         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
21245         on 'declare' forms (Bug#25846).
21247 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
21249         Support read syntax for circular objects in Edebug (Bug#23660)
21251         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
21252         for edebug-read-function. Handle the read syntax for circular
21253         objects.
21254         (edebug-read-objects): New variable.
21255         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
21257         * src/lread.c (Fsubstitute_object_in_subtree): Make
21258         substitute_object_in_subtree into a Lisp primitive.
21260 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
21262         Add Conference to the list of valid bibtex entry types
21264         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
21265         Add Conference as a duplicate of InProceedings.  (Bug#25143)
21267 2017-02-23  Glenn Morris  <rgm@gnu.org>
21269         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
21271 2017-02-23  Glenn Morris  <rgm@gnu.org>
21273         Small dunnet score file improvements
21275         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
21276         (dun-do-logfile): Handle non-existing score file.
21278 2017-02-23  Glenn Morris  <rgm@gnu.org>
21280         * lisp/play/dunnet.el (dun-help): Doc fix.
21282 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
21284         Declare dun-line and dun-line-list
21286         Previously, there were free variables 'line' and 'line-list'.
21287         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
21288         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
21289         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
21290         (dun-batch-unix-interface): Use them.
21292 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21294         Merge from gnulib
21296         This incorporates:
21297         2017-02-16 xbinary-io: rename from xsetmode
21298         2017-02-15 xsetmode: new module
21299         * lib-src/etags.c (main):
21300         * lib-src/hexl.c (main):
21301         * src/emacs.c (main) [MSDOS]:
21302         Prefer set_binary_mode to the obsolescent SET_BINARY.
21303         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
21305 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21307         hexl: handle large files and I/O errors
21309         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
21310         Do not include ctype.h, as the code no longer uses isdigit.
21311         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
21312         (DEFAULT_BASE, endian): Remove; was not really used.
21313         (usage): Remove; now done by ‘main’, as that’s simpler.
21314         (progname): Now static.
21315         (output_error, hexchar): New functions.
21316         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
21317         "-little-endian" options, as they did not work and were not used.
21318         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
21319         Use SET_BINARY only once on stdout.
21320         Do not assume file offsets fit in ‘long’.
21321         If an I/O error occurs, report it and exit with nonzero status.
21323 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
21325         Avoid quitting inside a critical section on MS-Windows
21327         * src/w32uniscribe.c (uniscribe_list_family):
21328         * src/w32font.c (w32font_list_family, w32font_text_extents)
21329         (w32font_list_internal, w32font_match_internal)
21330         (list_all_matching_fonts): Prevent quitting while these functions
21331         cons lists of fonts, to avoid leaving the critical section taken
21332         by the main thread, which will then cause any other thread
21333         attempting to enter the critical section to hang.  (Bug#25279)
21335 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
21337         Use revision-completion-table in vc-retrieve-tag
21339         * lisp/vc/vc.el (vc-retrieve-tag): Use the
21340         revision-completion-table command for completion (bug#25710).
21342 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21344         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
21346         remove entries whose car can't be returned by type-of.
21347         (cl--generic-all-builtin-types): New var.
21348         (cl-generic-generalizers): Use it to avoid requiring
21349         extra entries in cl--generic-typeof-types.
21351 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
21353         Find macro binding for symbol-bound macros too (Bug#6848)
21355         There are 2 ways to bind a macro: with global-set-key or
21356         kmacro-bind-to-key.  The former binds a key to a symbol, while the
21357         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
21358         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
21359         case, but broke the symbol case.
21361         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
21362         MACRONAME.
21364 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21366         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
21368 2017-02-22  Juri Linkov  <juri@linkov.net>
21370         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
21372 2017-02-22  Juri Linkov  <juri@linkov.net>
21374         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
21376         (isearch-lazy-highlight-update): Check it to decide whether to apply
21377         overlays only on the selected window.
21379         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
21380         (Bug#17453, bug#21092)
21382 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
21384         Minor weak hash table performance tweaks
21386         * src/fns.c (make_hash_table): Omit unnecessary assignment to
21387         h->next_weak when the hash table is not weak.
21388         (copy_hash_table): Put the copy next to the original in the
21389         weak_hash_tables list, as this should have better locality
21390         when scanning the weak hash tables.
21392 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
21394         Use float instead of Lisp_Object for rehash_size
21396         * src/alloc.c (purecopy_hash_table):
21397         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
21398         (Fhash_table_rehash_size):
21399         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
21400         The rehash_size member of struct Lisp_Hash_Table is now a
21401         float, not a Lisp_Object.
21402         * src/alloc.c (purecopy_hash_table): Assign members in order.
21403         * src/fns.c (make_hash_table): Use EMACS_INT for size and
21404         float for rehash_size, instead of Lisp_Object for both.
21405         All callers changed.
21406         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
21407         and 1 smaller.
21408         * src/print.c (print_object): Simplify by calling
21409         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
21410         Avoid unnecessary NILP.
21412 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
21414         Use ptrdiff_t instead of Lisp_Object for collision
21416         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
21417         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
21418         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
21419         integer (or Qnil if empty).  All callers changed.
21420         (larger_vecalloc): New static function.
21421         (larger_vector): Use it.
21422         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
21423         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
21424         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
21425         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
21426         * src/profiler.c (evict_lower_half, record_backtrace):
21427         -1, not nil, is now the convention for end of collision list.
21428         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
21429         of the free list.  Reallocate H->next last, in case other
21430         reallocations exhaust memory.
21431         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
21432         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
21433         ‘index’, which no longer contain nil.
21434         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
21436 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
21438         Hash table threshold is now float, not double
21440         Change default from 0.8 to 0.8125 so it fits in float without
21441         rounding glitches.
21442         * doc/lispref/hash.texi (Creating Hash):
21443         * doc/lispref/objects.texi (Hash Table Type):
21444         * etc/NEWS:
21445         Document change.
21446         * src/fns.c (make_hash_table, maybe_resize_hash_table)
21447         (Fmake_hash_table): Threshold is now float, not double.
21448         Be consistent about how this is rounded.
21449         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
21450         Change back to float, now that the other code rounds consistently.
21451         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
21453 2017-02-22  Juri Linkov  <juri@linkov.net>
21455         Avoid flicker in lazy-highlight by doing all updates without redisplay.
21457         * lisp/isearch.el (lazy-highlight-max-at-a-time):
21458         Change default value from 20 to nil to not trigger redisplay
21459         between updating iterations.
21460         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
21461         overlays when non-nil.
21462         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
21463         with non-nil second arg when the search string is not empty.
21464         Run timer with isearch-lazy-highlight-start instead of
21465         isearch-lazy-highlight-update.
21466         (isearch-lazy-highlight-start): New function. (Bug#25751)
21468 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21470         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
21472         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
21474 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21476         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
21478         which resulted in incomplete list of parents in one copy of the
21479         cl-structure-class class.
21481 2017-02-21  Glenn Morris  <rgm@gnu.org>
21483         Tweak recent custom-reevaluate-setting change
21485         * lisp/custom.el (custom-reevaluate-setting):
21486         Tweak previous change to avoid font-lock init issues.
21488 2017-02-21  Glenn Morris  <rgm@gnu.org>
21490         Ensure delayed-init custom variables get marked special
21492         * lisp/custom.el (custom-reevaluate-setting):
21493         If the variable has never been set, defvar it.  (Bug#25770)
21495 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
21497         Turn on lexical-binding in dunnet.el
21499         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
21500         byte compile warnings.
21502 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
21504         Make dunnet insertion functions n-ary
21506         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
21507         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
21508         any number of arguments.
21509         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
21510         (dun-take, dun-go, dun-move, dun-press, dun-score):
21511         (dun-compile-save-out, dun-do-logfile): Collect arguments from
21512         multiple insertion calls into less calls with more args.
21514 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
21516         message-goto-body-1: Fix regexp so as not to match multi-line
21518         * lisp/gnus/message.el (message-goto-body-1):
21519         Fix regexp so as not to match multi-line.
21521 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
21523         Simplify cl-get using `plist-member'
21525         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
21526         `plist-member' instead of explicit loop.
21527         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
21529 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21531         Verify xwidget USE_LSB_TAG assumption
21533         * src/xwidget.c (Fxwidget_webkit_execute_script):
21534         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
21536 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21538         * src/insdel.c (make_gap): Improve comment.
21540 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21542         Do not use switch-to-buffer for working in a temp buffer
21544         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
21545         cf. Bug#22244.
21546         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
21547         with-temp-buffer instead.
21549 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21551         Make dun-room-shorts a defconst
21553         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
21554         initial value into the declaration.
21555         (dun-space-to-hyphen): Remove.
21557 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21559         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
21561         * src/xwidget.c (webkit_javascript_finished_cb)
21562         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
21563         integer.  This fix is just a hack; I’ll file a bug report about
21564         the underlying problem.
21566 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
21568         mm-decode.el: Simplify regexp used to search html meta tag
21570         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
21571         Simplify regexp used to search html meta tag.
21573 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
21575         mm-shr: Ignore coding-system `ascii'
21577         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
21579 2017-02-20  Tom Tromey  <tom@tromey.com>
21581         vc-log-outgoing fixes for git; add binding to vc-dir
21583         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
21584         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
21585         async execution.
21586         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
21587         log-incoming.
21588         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
21589         as remote-location argument.
21591 2017-02-20  Tom Tromey  <tom@tromey.com>
21593         Remove stale comments from vc-git and vc-hg
21595         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
21596         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
21598 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21600         Remove member clone
21602         * lisp/play/dunnet.el (dun-answer): Use member instead.
21603         (dun-members): Remove.
21605 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21607         Prefix global var
21609         * lisp/play/dunnet.el (room): Rename to dun-room.
21610         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
21611         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
21613 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
21615         Replace nested ifs with cond
21617         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
21618         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
21619         and cond where appropriate.
21620         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
21621         (dun-take): Use null and dun-mprincl.
21622         (dun-inven-weight, dun-load-d): Reformat.
21623         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
21625 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21627         Fix glitches in recent hash table changes
21629         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
21630         by using 0 rather than -1.
21631         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
21632         than a bitfield, for speed (the bitfield did not save space).
21633         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
21634         float, since the float caused unwanted rounding errors, e.g.,
21635         (hash-table-rehash-threshold (make-hash-table)) yielded
21636         0.800000011920929 instead of the correct 0.8.
21638 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21640         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
21642 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
21644         Avoid aborts during loadup
21646         * src/emacs-module.c (syms_of_module):
21647         * src/image.c (xpm_make_color_table_h): Update calls to
21648         make_hash_table to adjust to a recent change in fns.c.
21649         * src/fns.c (make_hash_table):
21650         * src/lisp.h (make_hash_table): 4th arg is now of type double.
21652 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
21654         Rework connection local variables
21656         For connection local variables interface, `class' is renamed
21657         to `profile'.  All arguments `criteria' are a plist now.
21659         * doc/lispref/variables.texi (Connection Local Variables):
21660         Rewrite.
21662         * lisp/files-x.el (connection-local-profile-alist): Rename
21663         from `connection-local-class-alist'.  Adapt docstring.
21664         (connection-local-criteria-alist): Adapt docstring.
21665         (connection-local-normalize-criteria): New defun.
21666         (connection-local-get-profiles): Rename from
21667         `connection-local-get-classes'.  Rewrite.
21668         (connection-local-set-profiles): Rename from
21669         `connection-local-set-classes'.  Rewrite.
21670         (connection-local-get-profile-variables): Rename from
21671         `connection-local-get-class-variables'.  Rewrite.
21672         (connection-local-set-profile-variables): Rename from
21673         `connection-local-set-class-variables'.  Rewrite.
21674         (hack-connection-local-variables)
21675         (hack-connection-local-variables-apply)): Rewrite.
21676         (with-connection-local-profiles): Rename from
21677         `ith-connection-local-classes'.  Rewrite.
21679         * lisp/net/tramp.el (tramp-set-connection-local-variables):
21680         Compute criteria.
21682         * lisp/net/tramp-cmds.el (tramp-bug):
21683         Use `connection-local-profile-alist'.
21685         * test/lisp/files-x-tests.el (files-x-test--variables1)
21686         (files-x-test--variables2, files-x-test--variables3)
21687         (files-x-test--variables4, files-x-test--criteria1)
21688         (files-x-test--criteria2): Make them a defconst.
21689         (files-x-test--application)
21690         (files-x-test--another-application, files-x-test--protocol)
21691         (files-x-test--user, files-x-test--machine): New defconst.
21692         (files-x-test--criteria): New defvar.
21693         (files-x-test--criteria3): Remove.
21694         (files-x-test-connection-local-set-profile-variables):
21695         Rename from `files-x-test-connection-local-set-class-variables'.
21696         Rewrite.
21697         (files-x-test-connection-local-set-profiles): Rename from
21698         `files-x-test-connection-local-set-classes'.  Rewrite.
21699         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
21700         (files-x-test-with-connection-local-profiles): Rename from
21701         `files-x-test-with-connection-local-classes'.  Rewrite.
21703 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21705         Set up combination and random item location
21707         * lisp/play/dunnet.el (dun-combination): Make defconst.
21708         (tloc, tcomb): Remove.  Replace with a top-level form.
21710 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21712         Replace movement variables with an alist and accessor
21714         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
21715         (northwest, southwest, up, down, in, out): Remove.
21716         (dun-movement-alist): New constant.
21717         (dun-movement): New function.
21718         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
21719         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
21720         (dun-move, dun-special-move): Translate movement symbol to an
21721         enumeration.
21723 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21725         Change top-level setq forms to defvar or defconst
21727         Also collect some code onto fewer lines and reindent.
21728         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
21729         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21730         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21731         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21732         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21733         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21734         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21735         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21736         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21737         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21738         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21739         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21740         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21741         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
21742         declaration to use defvar or defconst.
21743         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
21744         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
21745         dun-verblist.  Those are now constants and the byte compiler doesn't
21746         allow defconsts in lambda lists.
21748 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21750         Move all dunnet globals up to the top
21752         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
21753         (dun-visited, dun-current-room, dun-exitf):
21754         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21755         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21756         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21757         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21758         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21759         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21760         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21761         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21762         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21763         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21764         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21765         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21766         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
21767         top of the file, before any uses.
21769 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
21771         Fix bug#25788
21773         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
21774         Do not load tramp.el just for "/".  (Bug#25788)
21776 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21778         Fix fringe bitmap initialization on MS-Windows
21780         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
21781         of fb->bits.  (Bug#25673)
21783 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21785         Change type of `rehash_threshold' and `pure' fields in hash-tables
21787         * src/lisp.h (struct Lisp_Hash_Table): Change type of
21788         `rehash_threshold' and `pure' fields and move them after `count'.
21789         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
21790         (Fmake_hash_table, Fhash_table_rehash_threshold):
21791         * src/category.c (hash_get_category_set):
21792         * src/xterm.c (syms_of_xterm):
21793         * src/profiler.c (make_log):
21794         * src/print.c (print_object):
21795         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
21797 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21799         Use 'char *FOO' instead of 'char* FOO'
21801 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
21803         More json.el changes
21805         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
21806         (json-read-array): Just use = for char comparison.
21808 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
21810         * lisp/woman.el (woman): Fix docstring prefix arg description.
21812 2017-02-18  Alan Mackenzie  <acm@muc.de>
21814         Fix edebug-spec on c-lang-defvar.
21816         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
21817         optional documentation to be instrumented for edebug.
21819         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
21820         c-lang-defvar.
21821         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
21822         'dont-doc.
21824 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
21826         Lists used as plists now have to be an even length
21828         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
21829         (eww-process-text-input): Not here, either.
21831 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
21833         Unset `non-essential' in Tramp when not needed anymore
21835         * doc/misc/trampver.texi:
21836         * lisp/net/trampver.el: Change version to "2.3.2-pre".
21838         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
21839         Use `tramp-completion-mode-p'.
21841         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
21842         when file name doesn't match `tramp-completion-file-name-regexp'.
21844 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21846         Automatically regenerate emacs.1 and *.rc files
21848         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
21849         non-Makefile files produced by config.status.
21850         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
21851         their targets are regenerated when the source changes.
21853 2017-02-18  Alan Mackenzie  <acm@muc.de>
21855         Set the syntax table in AWK Mode.
21857         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
21858         It fixes bug #25722.
21860         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
21862 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21864         Mention "editor" in Emacs man page header
21866         * doc/man/emacs.1.in: Mention "editor" in the header line.
21867         (Bug#25771, Bug#25779)
21869 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
21871         Fix Turkish language environment setup
21873         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
21874         language setup.  (Bug#25763)
21876 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
21878         Support 24-bit direct colors on text terminals
21880         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
21881         foreground and background functions are present in terminal type
21882         definition.
21883         * src/tparam.h: Define prototype for tigetstr.
21885         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
21886         index to pixel value on 16.7M color terminals.
21887         (tty-color-24bit): New function to convert color palette index to
21888         pixel value on 16.7M color terminals.
21889         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
21890         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
21891         TTY colors on 16.7M color terminals.
21893         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
21894         enable direct color TTY mode.
21895         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
21897 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
21899         Remove unused TN_max_pairs field
21901         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
21902         describing maximum number of terminal background/foreground color pairs.
21903         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
21904         (init_tty): Remove references to TN_max_pairs.
21906 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21908         Improve documentation of query-replace-from-to-separator
21910         * doc/emacs/search.texi (Query Replace): Document the meaning of
21911         the nil value of query-replace-from-to-separator.  (Bug#25482)
21913 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21915         Document problems with nerd-fonts
21917         * etc/PROBLEMS (fonts): Describe the potential problems with
21918         nerd-fonts that cause slow display.  (Bug#25697)
21920 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21922         Improve commentary for a recent change in keyboard.c
21924         * src/keyboard.c (Fset__this_command_keys): Add a comment about
21925         the magic 248 value.  (Bug#25612)
21927 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21929         Avoid infloop in rect.el
21931         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
21932         with argument N whose absolute value is greater than 1.  (Bug#25773)
21934 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
21936         Remove annoying warnings about let-binding
21938         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
21939         Remove warnings about making symbols local while let-bound.
21940         (Bug#25561)
21942 2017-02-18  Hong Xu  <hong@topbug.net>
21944         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
21946         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
21947         functionp instead of fboundp on
21948         flyspell-generic-check-word-predicate (Bug#25765).
21950 2017-02-18  Glenn Morris  <rgm@gnu.org>
21952         Remove the build number from emacs-version variable
21954         It's a largely internal detail that can confuse users.  (Bug#25590)
21955         * lisp/version.el (emacs-build-number): New constant.
21956         (emacs-version): Use emacs-build-number.
21957         * lisp/loadup.el (top-level): When dumping, increment
21958         emacs-build-number rather than emacs-version.
21959         * src/emacs.c (emacs-version): Doc fix.
21960         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
21961         Mention emacs-build-number.
21962         * lisp/gnus/gnus-util.el (gnus-emacs-version):
21963         * lisp/mail/emacsbug.el (report-emacs-bug):
21964         * admin/admin.el (set-version): Update for emacs-version change.
21966 2017-02-18  Glenn Morris  <rgm@gnu.org>
21968         Ensure that user-mail-address always has a value
21970         * lisp/startup.el (user-mail-address): Initialize in the normal way.
21971         (command-line): Reset user-mail-address if needed using
21972         standard custom machinery.
21973         * lisp/mail/feedmail.el (feedmail-fiddle-from):
21974         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
21975         * lisp/mail/rmailsum.el (rmail-header-summary):
21976         Simplify now that user-mail-address is always set.
21978 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
21980         Turn on lexical-binding in ruby-mode
21982         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
21983         (ruby-font-lock-syntax-table): Use make-syntax-table.
21984         (ruby-mode): 'define-derived-mode' writes the keys for us.
21986 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
21988         Turn on lexical-binding in elint.el
21990         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
21991         (elint-running, elint-current-pos): Move these dynamic vars to toward
21992         the top of the file.
21993         (elint-check-quote-form): Ignore unused argument.
21994         (elint-check-conditional-form): Remove unused binding.
21996 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
21998         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
22000 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
22002         Enable erc-accidental-paste-threshold-seconds by default
22004         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
22005         default to 0.2 (Bug#25709).
22007 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
22009         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
22011         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
22012         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
22013         one created with ‘make extraclean’), see
22014         <http://hydra.nixos.org/build/48774928>.
22016         The failure was caused by characters.el trying to read Unicode
22017         property tables which aren’t available so early in the build process.
22019         Wrap the part that requires Unicode property tables in a condition
22020         checking if those are available.  If they aren’t they case and syntax
22021         tables won’t be fully set but later on, the characters.el file will be
22022         evaluated again and this time with Unicode properties available so
22023         final Emacs ends up with the exact same case and syntax tables.
22025 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
22027         mm-add-meta-html-tag: Improve regexp
22029         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
22030         Improve regexp to search html meta tag.
22032 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
22034         mm-shr: Prefer charset specified in html meta tag
22036         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
22037         meta tag than mail-parse-charset in the case there is no charset spec
22038         in MIME header.
22040 2017-02-17  Glenn Morris  <rgm@gnu.org>
22042         Stop duplicating some custom-types in message.el
22044         * lisp/gnus/message.el (user-mail-address, user-full-name):
22045         No need to re-specify custom-type.
22047 2017-02-17  Glenn Morris  <rgm@gnu.org>
22049         Whitespace trivia in dunnet.el
22051         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
22052         (dun-rlogin-endgame): Whitespace trivia.
22054 2017-02-17  Glenn Morris  <rgm@gnu.org>
22056         Explicit error on changing case of negative integers
22058         * src/casefiddle.c (casify_object): Reject negative integers:
22059         Emacs characters are positive integers.  (Bug#25684)
22061 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
22063         Fix buffers update in vc-retrieve-tag
22065         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
22066         `repository', use the repository root and pass it to
22067         vc-resynch-buffer (bug#25714).
22069 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
22071         * src/buffer.h: Fix indenting.
22073 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
22075         Add sanity checks for Bswitch hash tables
22077         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
22078         Check that operand is a hash table and hashes to ints.
22080 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
22082         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
22084 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
22086         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
22088         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
22089           redundant operations while calculating the correct jump addresses
22090           from TAGs in jump tables.
22092 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
22094         Minor changes in json.el
22096         * lisp/json.el (json-advance): Simpler docstring.
22097         (json-read-escaped-char): Use xdigit subform in rx expression.
22098         (json-read-string): Just use = for char comparison.
22100 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
22102         Don't expand body inside a let-binding when there are no bindings
22104         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
22105         is non-nil.
22107 2017-02-16  Glenn Morris  <rgm@gnu.org>
22109         Handle user-mail-address being the empty string
22111         * lisp/mail/feedmail.el (feedmail-fiddle-from):
22112         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
22113         * lisp/mail/rmailsum.el (rmail-header-summary):
22114         Belated update for 2002-09-29 startup.el change, 680ebfa, where
22115         the value of user-mail-address during initialization was changed
22116         from nil to the empty string.
22118 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
22120         Continue to fix bug#25607
22122         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
22123         (ido-file-name-all-completions-1): Do not bind `non-essential'.
22125         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
22126         Improve autoloaded version.
22127         (tramp-completion-file-name-handler): Remove old compat code.
22128         Check only for `tramp-completion-mode-p'.
22129         (tramp-completion-mode-p): Autoload.  Do not check any longer
22130         for `last-input-event'.
22131         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
22133 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
22135         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
22137         A compatibility digraph characters, such as Dž, are neither upper- nor
22138         lower-case.  At the moment however, those are reported as upper-case¹
22139         despite the fact that they change when upper-cased.
22141         Stop checking if a character is upper-case before trying to up-case it
22142         so that title-case characters are handled correctly.  This fixes one of
22143         the issues mentioned in bug#24603.
22145         ¹ Because they change when converted to lower-case.  Notice an asymmetry
22146           in that for a character to be considered lower-case it must not be
22147           upper-case (plus the usual condition of changing when upper-cased).
22149         * src/buffer.h (upcase1): Delete.
22150         (upcase): Change to upcase character unconditionally just like downcase
22151         does it.  This is what upcase1 was.
22153         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
22154         of upcase1 and don’t check !uppercasep(x) before calling upcase.
22156         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
22157         downcase(x) and see if it changed.
22159         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22160         casefiddle-tests-casing): Update test cases which are now passing.
22162 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
22164         Generate upcase and downcase tables from Unicode data  (bug#24603)
22166         Use Unicode data to generate case tables instead of mostly repeating
22167         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
22168         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
22170         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
22171         changes to syntax table and case tables introduced by this commit.
22173         * lisp/international/characters.el: Remove case-pairs defined with
22174         explicit Lisp code and instead use Unicode character properties.
22176         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22177         casefiddle-tests-casing): Update test cases which are now working
22178         as they should.
22180 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
22182         Add tests for casefiddle.c  (bug#24603)
22184         Fixes cases marked FIXME upcoming in followup commits.
22186         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
22187         casefiddle-tests-case-table, casefiddle-tests-casing-character,
22188         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
22189         casefiddle-tests-casing-byte8-with-changes): New tests.
22190         (casefiddle-tests--test-casing): New helper function for runnig
22191         some of the tests.
22193 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
22195         oldXMenu: add missing #include <string.h>
22197         Some of the files in oldXMenu use functions from string.h without
22198         including that header which results in compile warnings:
22200                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
22201                 ChgPane.c:46:20: warning: incompatible implicit declaration of
22202                         built-in function ‘strlen’
22203                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
22204                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
22205                         function ‘strlen’
22206                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
22207                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
22208                 InsPane.c:65:20: warning: incompatible implicit declaration of
22209                         built-in function ‘strlen’
22210                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
22211                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
22212                         function ‘strlen’
22213                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
22215         Add the necessary ‘#include <string.h>’.
22217         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
22218         oldXMenu/InsSel.c: add missing #include <string.h>
22220 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
22222         Fixup recent rmail patch
22224         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
22226 2017-02-15  Richard Stallman  <rms@gnu.org>
22228         Rmail fix
22230         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
22231         as element 4 of the value.
22232         (rmail-epa-decrypt): Take the text to insert from that element.
22234 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
22236         bytecomp-tests.el: Store all test forms in one constant.
22238         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
22239         in a single constant (byte-opt-testsuite-arith-data), add new forms
22240         which generate lapcode with adjacent/redundant tags.
22242 2017-02-15  Glenn Morris  <rgm@gnu.org>
22244         Small lispref edit
22246         * doc/lispref/os.texi (User Identification):
22247         Remove extraneous detail about user-mail-address.
22249 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
22251         Document fill-separate-heterogeneous-words-with-space (bug#25685)
22253         * doc/lispref/text.texi (Filling):
22254         Document fill-separate-heterogeneous-words-with-space (bug#25685).
22256 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
22258         Test comment-multi-line = nil auto fill case too
22260         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
22261         `comment-multi-line' both nil and non-nil.
22262         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
22263         boolean.
22264         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
22266 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
22268         Don't delete leading and trailing space from CJK word (bug#25685)
22270         * lisp/textmodes/fill.el (fill-delete-newlines):
22271         Don't delete leading and trailing space from CJK word.
22272         (fill-separate-heterogeneous-words-with-space):
22273         New user option that controls it (bug#25685).
22275 2017-02-15  Juri Linkov  <juri@linkov.net>
22277         ‘M-s w RET word C-s’ repeats incremental search.
22279         * lisp/isearch.el (isearch-new-nonincremental): New variable.
22280         (with-isearch-suspended): Bind isearch-new-nonincremental to
22281         isearch-nonincremental, and restore it afterwards.
22282         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
22283         Set isearch-new-nonincremental to nil.  (Bug#25562)
22285 2017-02-14  Tom Tromey  <tom@tromey.com>
22287         Make vc-git detect conflict state for vc-dir
22289         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
22290         (vc-git-dir-status-update-file): New function.
22291         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
22292         vc-git-dir-status-state; add 'ls-files-conflict state.
22293         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
22295 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
22297         byte-opt: Replace merged tags in jump tables too. (bug#25716)
22299         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
22300           adjacent tags, make sure that the old tag is replaced in all jump
22301           tables, if any. This fixes the bytecode VM jumping to the wrong
22302           address in compiled cond forms where the body of a clause was a loop
22303           of any sort.
22305 2017-02-14  Glenn Morris  <rgm@gnu.org>
22307         Remove overly broad element from default mail-dont-reply-to-names
22309         * lisp/mail/mail-utils.el (mail-dont-reply-to):
22310         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
22311         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
22312         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
22313         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
22315 2017-02-14  Juri Linkov  <juri@linkov.net>
22317         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
22319 2017-02-13  Arash Esbati  <arash@gnu.org>
22321         Match all characters in optional argument of \documentclass
22323         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
22324         characters in optional argument containing name of the main file.
22326 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
22328         Merge branch 'master' into feature/byte-switch
22330 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
22332         Fix non-ASCII text encoding (bug#25658)
22334         * lisp/gnus/mm-bodies.el (mm-encode-body):
22335         Fix non-ASCII text encoding (bug#25658).
22337 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
22339         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
22341 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
22343         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
22345 2017-02-13  Glenn Morris  <rgm@gnu.org>
22347         Fix recent bootstrap issue by moving string-to-list
22349         * lisp/international/mule-util.el (string-to-list, string-to-vector):
22350         Move from here...
22351         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
22352         The implementation is trivial and at least string-to-list
22353         has ended up being needed early during bootstrap.
22355 2017-02-13  Glenn Morris  <rgm@gnu.org>
22357         Doc fixes related to mail-host-address
22359         * lisp/startup.el (mail-host-address): Doc fix.
22360         * doc/lispref/os.texi (System Environment):
22361         Remove extraneous details of mail-host-address.
22363 2017-02-13  Glenn Morris  <rgm@gnu.org>
22365         Simplify time-stamp mail host usage
22367         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
22368         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
22370 2017-02-13  Glenn Morris  <rgm@gnu.org>
22372         Doc fix for vhdl-mode re mail-host-address
22374         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
22375         (mail-host-address): Do not add to vhdl-related custom group,
22376         since vhdl-template-replace-header-keywords doesn't use it.
22378 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
22380         Substitute leading $HOME/ in xdg-user-dirs
22382         * lisp/xdg.el (xdg--substitute-home-env): New function.
22383         (xdg--user-dirs-parse-line): Use it.
22384         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
22386 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
22388         * lisp/buff-menu.el: Turn on lexical-binding.
22390 2017-02-13  Juri Linkov  <juri@linkov.net>
22392         * lisp/replace.el (query-replace-from-to-separator): Move propertize
22394         and char-displayable-p test to query-replace-read-from.
22395         Add choice nil to disable this feature.
22396         (query-replace-read-from): Don't reevaluate custom setting.
22397         Use char-displayable-p to test the first non-whitespace character
22398         in query-replace-from-to-separator, use " -> " when fails.
22399         Add prompt for the case when separator is nil but
22400         query-replace-defaults is non-nil.
22401         Remove unused test for regexp-flag.
22402         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
22404 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
22406         Convert more uses of `looking-at' to `following-char'
22408         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
22409         (commit 91478f46238a) with more of the same.
22411         * lisp/bookmark.el (bookmark-send-edited-annotation):
22412           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
22413           with char comparisons using following-char.
22415 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22417         Fix typos in tests for lax-plist-get etc.
22419         Problem reported by Eli Zaretskii (Bug#25606#62).
22420         * test/src/fns-tests.el (test-cycle-lax-plist-get)
22421         (test-cycle-plist-put, test-cycle-lax-plist-put):
22422         Fix tests to match behavior.
22424 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
22426         Fix bug#25607
22428         * lisp/net/tramp.el (tramp-completion-file-name-handler):
22429         Improve autoloaded version.
22430         (tramp-autoload-file-name-handler): Avoid recursive load.
22431         (tramp-completion-handle-expand-file-name): Handle empty NAME.
22432         (Bug#25607)
22434 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
22436         Remove server-buffer-clients string from minor-mode-alist
22438         * lisp/server.el: Don't put an element for server-buffer-clients into
22439         minor-mode-alist. (Bug#20201)
22441 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
22443         Nix some useless uses of looking-at, looking-back
22445         * lisp/allout.el (allout-kill-topic):
22446         (allout-next-topic-pending-encryption):
22447         * lisp/bookmark.el (bookmark-kill-line):
22448         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
22449         * lisp/cus-theme.el (custom-theme-write-variables):
22450         (custom-theme-write-faces):
22451         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
22452         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
22453         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
22454         (checkdoc-interactive-ispell-loop):
22455         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
22456         (checkdoc-this-string-valid-engine):
22457         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
22458         * lisp/emulation/viper-cmd.el (viper-backward-indent):
22459         * lisp/image-dired.el (image-dired-delete-char):
22460         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
22461         looking-back with char comparisons using following-char, preceding-char.
22463 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
22465         Clarify what is the "cursor"
22467         * doc/lispref/windows.texi (Window Point): Clarify the notion of
22468         "cursor".
22470 2017-02-11  Tom Tromey  <tom@tromey.com>
22472         Recognize JS regexp literals more correctly
22474         Bug#25529
22475         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
22476         constant.
22477         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
22478         (js--syntax-propertize-regexp-syntax-table): Remove.
22479         (js-syntax-propertize): Update.
22480         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
22481         New test.
22483 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
22485         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
22487         This avoids using XUINT every time while comparing it with
22488         HASH_HASH (h, i), replacing it with EQ.
22490 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
22492         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
22494 2017-02-11  Tom Tromey  <tom@tromey.com>
22496         Fix bug in css--mdn-find-symbol
22498         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
22499         before skipping word characters.
22500         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
22501         regression test.
22503 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
22505         src/bytecode.c: Add optional sanity check for jump tables.
22507         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
22508           check that the jump table's size is equal to it's count.
22510 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
22512         Merge branch 'master' into feature/byte-switch
22514         * src/bytecode.c: Refactor to follow GNU coding standards
22516 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
22518         Fix handling of XBM images on MS-Windows
22520         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
22521         'nbytes' when inverting XBM data bits.  (Bug#25661)
22523 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
22525         Fix handling of PBM data
22527         * src/image.c (pbm_load): Handle PBM data with no blanks between
22528         individual pixel values correctly.  (Bug#25660)
22530 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
22532         Fix warnings in debug tracing code
22534         * src/xdisp.c (dump_glyph, dump_glyph_string):
22535         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
22536         specifiers to match signedness.
22538 2017-02-10  Sam Steingold  <sds@gnu.org>
22540         Extract grep-find-ignored-directories processing from rgrep-default-command
22542         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
22543         Some Emacs packages use `grep-find-ignored-directories' to ignore some
22544         directories, so will use this function instead of custom code.
22545         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
22547 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
22549         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
22551         * src/bytecode.c: (exec_byte_code) While linear searching the jump
22552           table, compare the value's hash table first to avoid calling
22553           h->test.cmpfn every time.
22555 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
22557         Fix a few integer-overflow glitches
22559         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
22560         * src/dispextern.h (struct composition_it.rule_idx):
22561         * src/keyboard.c (Fset__this_command_keys):
22562         * src/xwidget.c (webkit_js_to_lisp):
22563         Don’t assume object sizes fit in ‘int’.
22564         * src/xwidget.c (Fxwidget_resize):
22565         Don’t assume Emacs integers fit in ‘int’.
22567 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22569         Fix a bug with displaying an image after a TAB
22571         * src/xdisp.c (display_line): Handle TAB at end of screen line
22572         specially only when we are displaying characters.  (Bug#25662)
22574 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22576         Improve commentary in lisp.h
22578         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
22579         object is discouraged.
22581 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
22583         Move cyclic tests to fns-tests.el
22585         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
22586         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
22587         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
22588         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
22589         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
22590         (test-cycle-plist-get, test-cycle-lax-plist-get)
22591         (test-cycle-plist-member, test-cycle-plist-put)
22592         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
22593         New tests.
22594         * test/manual/cyclic-tests.el: File deleted.
22596 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
22598         Fix instrumenting code with propertized strings in Edebug
22600         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
22601         'read' to decide what is and isn't a syntax error.  (Bug#25068)
22603 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
22605         Improve fontification in bat-mode
22607         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
22608         word and symbol constituents when looking for variable names
22609         to fontify; also, correct the syntax table and mark the equal
22610         sign (=) character as punctuation.  Improve fontification
22611         accuracy of iteration/positional variables.
22612         (bat-mode): Set comment-start-skip.  (Bug#25541)
22614         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
22615         bat-mode.el.
22617 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
22619         Restore special setting of this-command-keys by M-x
22621         It was lost when execute-extended-command was reimplemented in Lisp.
22623         * src/keyboard.c (Fset__this_command_keys): New function.
22624         (syms_of_keyboard): Defsubr it.
22626         * lisp/simple.el (execute-extended-command): Set this-command-keys
22627         as novice.el expects.  (Bug#25612)
22629 2017-02-09  Juri Linkov  <juri@linkov.net>
22631         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
22633         to t to display "Pending" in the search prompt for lax
22634         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
22635         when 'bound' is non-nil.
22636         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
22637         at the beginning of regexp (bug#22589).
22639         * lisp/info.el (Info-isearch-search):
22640         Use isearch--lax-regexp-function-p.
22642         * doc/emacs/search.texi (Word Search, Symbol Search):
22643         Mention "Pending" prompt for lax word/symbol search.
22645 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22647         src/bytecode.c (exec_byte_code): Remove unneeded assert.
22649         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
22651 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22653         bytecode.c (exec_byte_code): don't check hash code in linear search.
22655         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
22656           not nil when linear scanning the jump table. Hash tables for are
22657           declared with :size as the exact number of cases, so each entry i
22658           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
22659           check.
22661 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22663         Ibuffer: Update mode documentation
22665         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
22667 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
22669         Fix environment variable for xdg-data-dirs
22671         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
22673 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22675         Ibuffer: Erase output buffer before shell commands
22677         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
22678         BEFORE and AFTER; they are forms to run before/after the operation.
22679         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
22680         New defun; if shell-command-dont-erase-buffer is nil, then
22681         erase shell command output buffer.
22682         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
22684 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
22686         Ibuffer: Don't truncate shell command output
22688         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
22689         (ibuffer-do-shell-command-pipe-replace)
22690         Use 'call-shell-region' (Bug#22679).
22691         (ibuffer-do-shell-command-file): Use call-process-shell-command.
22692         If FILE, the file that the buffer object is visiting,
22693         exists and the buffer is up-to-date, then use
22694         FILE instead of creating a temporary file (Bug#22679).
22696 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
22698         Improve byte-switch execution.
22700         * lisp/emacs-lisp/byte-opt.el,
22701           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
22702           (byte-compile-lapcode): Calculate the actual jump address while
22703           compiling, store it in the jump table.
22705         * src/bytecode.c: Jump to the looked up value directly, do a linear
22706           search when the number of elements is <= 5.
22708 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
22710         Make sure eshell pipelines don't drop data
22712         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
22713         handling output of the process, make sure to close the pipes only later,
22714         so that the next process in the pipeline recieves EOF only after getting
22715         all its input (Bug#25549).
22717 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
22719         Make mm-shr use mail-parse-charset by default
22721         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
22722         This helps an html message with no charset spec to be decoded.
22724 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
22726         describe-char: unambiguous name for inserting ASCII 7
22728         * lisp/descr-text.el (describe-char): Make the input
22729         suggestion for inserting ASCII character 7 by name use the
22730         unambiguous name "BELL (BEL)" (bug#25641).
22732 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
22734         Modify suppressing `vc-refresh-state' in filenotify-tests.el
22736         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22737         Use an advice rather than an alias for suppressing `vc-refresh-state'.
22739 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
22741         Disable native completion for ipython (Bug#25067)
22743         * lisp/progmodes/python.el:
22744         (python-shell-completion-native-disabled-interpreters): Add "ipython".
22746 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
22748         Suppress undesired error messages in filenotify-tests.el
22750         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22751         Suppress `vc-refresh-state', it produces undesired error messages.
22753 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
22755         Fix a typo in ada-mode manual
22757         * doc/misc/ada-mode.texi (Project file variables): Add a missing
22758         right bracket.  Reported by Jean-Christophe Helary
22759         <jean.christophe.helary@gmail.com>.
22761 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
22763         Ensure that Gnus bugs show up in the Emacs tracker
22765         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
22766         package spec.
22768 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
22770         Revert "Don't tag Gnus bugs with "gnus""
22772         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
22774         The debbugs syntax requires a package name
22776 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
22778         Add tests for checking byte-switch code.
22780         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
22781           test byte-switch bytecode.
22783 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
22785         Add xdg library
22787         * etc/NEWS: Mention new library.
22788         * lisp/xdg.el: New file.
22790 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22792         Do not trick info/dir’s timestamp
22794         * Makefile.in (${srcdir}/info/dir): When making this file, do not
22795         do anything special about its timestamp.  Previously this rule
22796         used move-if-change, which meant that this file’s timestamp could
22797         end up being older than the files it depends on, and this caused
22798         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
22799         now that ‘make-dist’ invokes ‘make --question info’.
22801 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
22803         Make FOR_EACH_TAIL more like other FOR_EACH macros
22805         See comments by Stefan Monnier in:
22806         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
22807         and by Eli Zaretskii in:
22808         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
22809         * src/fns.c (internal_equal): Do not bypass check for depth
22810         overflow when tail-recursing via a dotted list tail or an overlay
22811         plist, to avoid a rare infloop.
22812         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
22813         arg, and update it at each iteration, rather than have callers
22814         access it.tail.  All callers changed.
22815         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
22816         the caller’s responsibility.  All callers changed.
22817         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
22818         (struct for_each_tail_internal.tail): Remove; no longer needed.
22819         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
22820         arg each time through the loop.  All callers changed.
22822 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22824         Port to clang 3.8.0
22826         It does not allow a for-loop's control var to be an anonymous struct.
22827         * src/lisp.h (struct for_each_tail_internal): New type.
22828         (FOR_EACH_TAIL_INTERNAL): Use it.
22830 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22832         Add cyclic-list tests
22834         * test/manual/cycle-tests.el: New file (Bug#25606).
22836 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22838         FOR_EACH_TAIL now checks for quit
22840         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
22841         maybe_quit are unnecessary in practice, Eli was not convinced
22842         that the calls are unnecessary.
22843         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
22844         Call maybe_quit every so often.
22845         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
22847 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22849         Signal list cycles in ‘length’ etc.
22851         Use macros like FOR_EACH_TAIL instead of maybe_quit to
22852         catch list cycles automatically instead of relying on the
22853         user becoming impatient and typing C-g (Bug#25606).
22854         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
22855         (Frassoc, Fdelete, Freverse):
22856         Use FOR_EACH_TAIL instead of maybe_quit.
22857         (Fnreverse): Use simple EQ to check for circular list instead
22858         of rarely_quit, as this suffices in this unusual case.
22859         (Fplist_put, Flax_plist_put, Flax_plist_put):
22860         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
22861         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
22862         of by-hand tail recursion that did not catch cycles.
22863         * src/fns.c (Fsafe_length, Fplist_get):
22864         * src/xdisp.c (display_mode_element):
22865         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
22866         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
22867         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
22868         fancier versions are no longer needed.
22869         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
22870         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
22871         mostly taken from FOR_EACH_TAIL.
22872         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
22874 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
22876         Simplify use of FOR_EACH_TAIL
22878         * src/data.c (circular_list): New function.
22879         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
22880         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
22881         to speed things up a bit on typical hosts with optimization.
22882         All uses changed (Bug#25605).
22884 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
22886         * lisp/textmodes/css-mode.el: Require subr-x at compile time
22888 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
22890         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
22892         * doc/lispref/nonascii.texi (Text Representations): Clarify that
22893         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
22894         'filepos-to-bufferpos' can lead to expensive and slow processing.
22896         * lisp/international/mule-util.el (filepos-to-bufferpos)
22897         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
22899 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22901         Merge remote-tracking branch 'origin/master' into feature/byte-switch
22903 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22905         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
22907         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
22908           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
22909           make sure that obj1/obj2 can be compared with `eq'.
22911 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22913         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
22915 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22917         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
22919         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
22920           Restore value of byte-compile-depth after emitting a jump to a tag
22921           in a jump table, or default/done tags.
22922           Set the depth of final tags for byte-switch to nil after emitting
22923           any jumps to them.
22925 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22927         byte-opt.el: Replace jump tables while decompiling correctly.
22929         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
22930           Don't make a copy of the constant vector, as it isn't used with
22931           the decompiled lapcode.
22932           Make sure that the correct lapcode pair/list is being modified while
22933           replacing the jump table.
22935 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
22937         bytecomp.el: Don't store non-keyword symbols in jump-tables.
22939         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
22940           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
22941           table can only be used when comparing variables with constant values.
22943 2017-02-04  Tom Tromey  <tom@tromey.com>
22945         typo fix
22947         (css--colon-inside-selector-p): Fix typo in docstring.
22949 2017-02-04  Tom Tromey  <tom@tromey.com>
22951         Set comment-multi-line in js-mode
22953         Bug#6806:
22954         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
22955         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
22957 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
22959         * test/manual/indent/scss-mode.scss: Fix indentation
22961 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
22963         Fix indentation of multiline CSS property values
22965         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
22966         to properties higher precedence.
22967         (css--colon-inside-selector-p, css--colon-inside-funcall): New
22968         functions for helping SMIE during tokenization.
22969         (css-smie--forward-token, css-smie--backward-token): Distinguish
22970         colons belonging to properties from other colons.
22972         * test/manual/indent/css-mode.css: Add tests for the changes above.
22974         * test/manual/indent/scss-mode.scss: Ditto.
22976 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22978         Add tests for lisp/kmacro.el
22980         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
22982 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
22984         Fix autorevert-tests on MS-Windows
22986         * test/lisp/autorevert-tests.el
22987         (auto-revert-test02-auto-revert-deleted-file): Don't check that
22988         auto-revert-use-notify was reset to nil on w32.
22990 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
22992         New macro 'ert-with-message-capture'
22994         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
22995         (Bug#25158)
22997         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
22998         (auto-revert-test00-auto-revert-mode)
22999         (auto-revert-test01-auto-revert-several-files)
23000         (auto-revert-test02-auto-revert-deleted-file)
23001         (auto-revert-test03-auto-revert-tail-mode)
23002         (auto-revert-test04-auto-revert-mode-dired):
23003         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
23004         ert-with-message-capture.
23006 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
23008         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
23010         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
23011         'declare' form.  (Bug#24722)
23013 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
23015         Fix a syntax error when evaluating pcase.el under Edebug
23017         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
23018         with an explicit 'put' form.  Suggested by Gemini Lasswell
23019         <gazally@runbox.com>.  (Bug#24717)
23021 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
23022             Eli Zaretskii  <eliz@gnu.org>
23024         Change edebug-max-depth from defconst to defcustom
23026         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
23027         (Bug#24713)
23029         * etc/NEWS: Mention edebug-max-depth.
23031         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
23032         edebug-max-depth and index it.  Add cross-references for
23033         max-lisp-eval-depth and max-specpdl-size.
23035 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
23037         Support options with embedded whitespace in 'dired-listing-switches'
23039         * lisp/dired.el (dired-listing-switches): Document how to quote
23040         options with embedded whitespace.
23042         * lisp/files.el (insert-directory): Use split-string-and-unquote
23043         to support dired-listing-switches that specify command-line
23044         options with embedded spaces.  (Bug#25485)
23046 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
23047             Noam Postavsky  <npostavs@users.sourceforge.net>
23049         Add tests for lisp/emacs-lisp/testcover.el
23051         * test/lisp/emacs-lisp/testcover-tests.el: New file.
23052         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
23054 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
23056         Document 'save-some-buffers-default-predicate'
23058         * doc/lispref/files.texi (Saving Buffers):
23059         * doc/emacs/files.texi (Save Commands): Document
23060         save-some-buffers-default-predicate.
23062 2017-02-04  Richard Stallman  <rms@gnu.org>
23064         New defcustom 'save-some-buffers-default-predicate'
23066         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
23067         (save-some-buffers): Use it when PRED is nil or omitted.
23069 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
23071         Rename to if-let* and when-let*
23073         Make the existing if-let and when-let aliases.
23074         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
23075         docstrings, incorporating that from let* and the existing if-let.
23076         (if-let, when-let, and-let*): Alias them.
23078 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
23080         Revert "Use maphash instead of cl-loop."
23082         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
23084 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
23086         Bump Emacs version to 25.2 RC1
23088         * README:
23089         * configure.ac:
23090         * msdos/sed2v2.inp:
23091         * nt/README.W32: Bump Emacs version.
23092         * lisp/ldefs-boot.el: Update.
23094 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
23096         * admin/make-tarball.txt: Add documentation regarding the release banner.
23098 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
23100         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
23102 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23104         Re-port alloc.c to Solaris sparc and simplify
23106         alloc.c had bitrotted a bit, and used an undefined symbol
23107         stack_base when Emacs was built on Solaris sparc, leading to
23108         compilation failures.  Also, code related to __builtin_unwind_init
23109         was unnecessarily duplicated.  Fix the bitrot and remove some
23110         duplication.
23111         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
23112         is never defined.
23113         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
23114         Define a no-op dummy, to simplify use.
23115         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
23116         than in the caller, to simplify use.
23117         (stacktop_sentry): New type.
23118         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
23119         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
23120         (flush_stack_call_func, Fgarbage_collect): Use it.
23121         (init_alloc): Omit unnecessary initialization.
23122         After dumping, Emacs need not re-test setjmp.
23124 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
23126         Add tests for scrolling
23128         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
23130 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
23132         Fix scrolling with partial lines
23134         * src/xdisp.c (partial_line_height): New function.
23135         (try_scrolling):
23136         * src/window.c (window_scroll_pixel_based): Use it for calculating the
23137         pixel scroll margin correctly in a window with partial lines.
23139 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
23141         Make limit on scroll-margin variable
23143         * src/xdisp.c (maximum-scroll-margin): New variable.
23144         * lisp/cus-start.el: Make it customizable.
23145         * etc/NEWS: Mention it.
23146         * doc/emacs/display.texi (Auto Scrolling):
23147         * doc/lispref/windows.texi (Textual Scrolling): Document it.
23148         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
23149         division by 4 (Bug #5718).
23151 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
23153         Don't count mode line for scroll-margin limit
23155         * src/window.c (window_scroll_margin): Use window_box_height to avoid
23156         counting header line, scrollbars for scroll-margin limit (Bug #5718).
23158 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
23160         Refactor uses of scroll_margin to a function
23162         Its effective range needs to be clamped between 0 and (window height /
23163         4), so it's better to have this constraint in a single place.
23165         * src/window.c (window_scroll_margin): New function.
23166         (window_scroll_pixel_based, window_scroll_line_based):
23167         (Frecenter, Fmove_to_window_line):
23168         * src/xdisp.c (try_scrolling, try_cursor_movement):
23169         (redisplay_window, try_window, try_window_id): Use it.
23171 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
23173         (xref-collect-matches): Use '-E' together with '-e'
23175         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
23176         together with '-e', as suggested by Noam Postavsky
23177         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
23179 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23181         Pacify Oracle Studio 12.5
23183         * src/emacs.c (main): Do not silently convert char * to bool.
23185 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
23187         Fix lisp.h underparenthesization
23189         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
23190         Parenthesize compound literals that are function call args.
23191         Although this does not fix any bugs, it is the proper style for
23192         macro parenthesization as it means this code will continue to
23193         work even if make_lisp_ptr is changed to a macro.
23195 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
23197         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
23199         (doc-view-revert-buffer): Silence overflow warnings.
23201 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
23203         Merge from gnulib
23205         2017-01-30 Port to PGI 16.10 x86-64
23206         2017-01-20 time_rz: fix comment typo
23207         2017-01-14 strftime: %z is -00 if unknown
23208         This incorporates:
23209         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
23210         * lib/time-internal.h, lib/verify.h:
23211         Copy from gnulib.
23213 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
23215         Check if there are hunks before kill or refine a hunk
23217         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
23218         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
23220 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
23222         Ignore error after kill last file or hunk
23224         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
23225         Ignore error after kill last hunk (Bug#25570).
23226         (diff-file-kill): Idem.
23228 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
23230         Show current line highlighted in *Occur* buffer
23232         * lisp/replace.el (list-matching-lines-current-line-face)
23233         (list-matching-lines-jump-to-current-line): New user options.
23234         (occur--orig-line, occur--orig-line-str): New variables.
23235         (occur, occur-engine): Use them.
23236         (occur--final-pos): New variable.
23237         (occur-1): Use it.
23238         (occur-engine): Idem.
23239         Show the current line with 'list-matching-lines-current-line-face'.
23240         Set point on the first matching line after the current one.
23241         * etc/NEWS: Add entry for the new option.
23243 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
23245         Allow occur command to operate on the region
23247         See discussion in:
23248         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
23249         * lisp/replace.el (occur--region-start, occur--region-end)
23250         (occur--matches-threshold): New variables.
23251         (occur-engine): Use them.
23252         (occur): Idem.
23253         Add optional arg REGION; if non-nil occur applies in that region.
23254         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
23255         * doc/emacs/search.texi (Other Repeating Search): Idem.
23257 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
23259         Treat list-buffers-directory as a string
23261         Another step in the long history of list-buffers-directory.  A thread
23262         branch discussing the meaning/use of the variable starts here
23263         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
23264         Also see (info "(elisp) Buffer File Name").
23265         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
23266         Info-* defvars.
23267         (Buffer-menu--pretty-file-name): Remove special case.  Use
23268         bound-and-true-p.
23269         (Buffer-menu-info-node-description): Remove.
23270         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
23271         list-buffers-directory as a string.
23272         * lisp/info.el (Info-node-description): New function.
23273         (Info-select-node): Use it.
23275 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
23277         Turn on lexical-binding in parse-time.el
23279         * lisp/calendar/parse-time.el: Turn on lexical-binding.
23280         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
23281         bindings.
23283 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
23285         Prevent creating thumbnails of all gif frames
23287         With the previous defaults, doing image-dired on a directory with an
23288         animated foo.gif would cause creation of foo.thumb-N.gif for each of
23289         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
23290         there additionally is no usable thumbnail after all the needless effort.
23291         image-dired never handled animation, regardless.
23292         * lisp/image-dired.el: Mention limitation.
23293         (image-dired-cmd-create-thumbnail-options):
23294         (image-dired-cmd-create-temp-image-options):
23295         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
23296         filename to indicate only converting the 0th frame.
23297         (image-dired-display-image-mode): Don't show a cursor.
23299 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
23301         Fix quitting bug when buffers are frozen
23303         Problem noted by Eli Zaretskii in:
23304         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
23305         This patch also fixes some other issues in that report.
23306         * src/lisp.h (incr_rarely_quit): Remove.
23307         All callers changed to use rarely_quit directly.
23308         * src/search.c (freeze_buffer_relocation)
23309         (thaw_buffer_relocation): New functions.
23310         (looking_at_1, fast_looking_at, search_buffer):
23311         Use them to fix bug when quitting when buffers are frozen.
23312         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
23313         All uses changed.
23315 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
23317         Revamp quitting and fix infloops
23319         This fixes some infinite loops that cannot be quitted out of,
23320         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
23321         when byte-compiled and when run under X.  See:
23322         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
23323         This also attempts to keep the performance improvements I recently
23324         added, as much as possible under the constraint that the infloops
23325         must be caught.  In some cases this fixes infloop bugs recently
23326         introduced when I removed immediate_quit.
23327         * src/alloc.c (Fmake_list):
23328         Use rarely_quit, not maybe_quit, for speed in the usual case.
23329         * src/bytecode.c (exec_byte_code):
23330         * src/editfns.c (Fcompare_buffer_substrings):
23331         * src/fns.c (Fnthcdr):
23332         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
23333         (Fbackward_prefix_chars):
23334         Use rarely_quit so that users can C-g out of long loops.
23335         * src/callproc.c (call_process_cleanup, call_process):
23336         * src/fileio.c (read_non_regular, Finsert_file_contents):
23337         * src/indent.c (compute_motion):
23338         * src/syntax.c (scan_words, Fforward_comment):
23339         Remove now-unnecessary maybe_quit calls.
23340         * src/callproc.c (call_process):
23341         * src/doc.c (get_doc_string, Fsnarf_documentation):
23342         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
23343         * src/lread.c (safe_to_load_version):
23344         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
23345         Use emacs_read_quit instead of emacs_read in places where
23346         C-g handling is safe.
23347         * src/eval.c (maybe_quit): Move comment here from lisp.h.
23348         * src/fileio.c (Fcopy_file, e_write):
23349         Use emacs_write_quit instead of emacs_write_sig in places where
23350         C-g handling is safe.
23351         * src/filelock.c (create_lock_file): Use emacs_write, not
23352         plain write, as emacs_write no longer has a problem.
23353         (read_lock_data): Use emacs_read, not read, as emacs_read
23354         no longer has a problem.
23355         * src/fns.c (rarely_quit): Move to lisp.h and rename to
23356         incr_rarely_quit.  All uses changed..
23357         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
23358         * src/indent.c (compute_motion):
23359         * src/syntax.c (find_defun_start, back_comment, forw_comment)
23360         (Fforward_comment, scan_lists, scan_sexps_forward):
23361         Use incr_rarely_quit so that users can C-g out of long loops.
23362         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
23363         inner loop, so that it catches C-g there too.
23364         * src/keyboard.c (tty_read_avail_input): Remove commented-out
23365         and now-obsolete code dealing with interrupts.
23366         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
23367         the latter moved here from fns.c and renamed from rarely_quit.
23368         (emacs_read_quit, emacs_write_quit): New decls.
23369         * src/search.c (find_newline, search_buffer, find_newline1):
23370         Add maybe_quit to catch C-g.
23371         * src/sysdep.c (get_child_status): Always invoke maybe_quit
23372         if interruptible, so that the caller need not bother.
23373         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
23374         New functions.
23375         (emacs_read): Rewrite in terms of emacs_nointr_read.
23376         Do not handle C-g or signals; that is now for emacs_read_quit.
23377         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
23378         with INTERRUPTIBLE three-way arg.  All uses changed.
23380 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
23382         Remove immediate_quit.
23384         The old code that sets and clears immediate_quit was
23385         ineffective except when Emacs is running in terminal mode, and
23386         has problematic race conditions anyway, so remove it.  This
23387         will introduce some hangs when Emacs runs in terminal mode,
23388         and these hangs should be fixed in followup patches.
23389         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
23391 2017-02-01  Alan Mackenzie  <acm@muc.de>
23393         Allow C++ nested brace-list-entries to be better indented.
23395         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
23396         nested brace lists when the opening element stands on the same line as both
23397         its introductory brace and an enclosing parameter list parenthesis.
23399         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
23401         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
23402         presence of exactly an identifier between an open parenthesis and an open
23403         brace as evidence of the brace starting a brace list.
23404         (c-looking-at-statement-block): New function, extracted from
23405         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
23406         when needed.
23407         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
23408         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
23409         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
23410         all added syntactic symbols to those having an anchor point on the same line.
23411         Add, in addition to the current additional symbols, c-brace-list-entry when
23412         needed; use c-looking-at-statement-block to determine the latter.
23413         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
23414         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
23415         getting, possibly, several accompanying syntactic entries.
23417         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
23418         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
23420         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
23421         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
23423         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
23424         brace-list-intro.
23425         (Brace List Symbols): Amend the example to show the new analysis of brace
23426         lists when the first element comes on the same line as the opening brace.
23427         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
23429 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
23431         Revert "DOn't use string-as-unibyte in Gnus"
23433         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
23435         Not all the cases where we had string-as-unibyte were characters,
23436         so this needs to be considered more thoroughly before being redone.
23438 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
23440         Use maphash instead of cl-loop.
23442         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
23443           instead of cl-loop
23445 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
23447         Fix a subtle problem in Tramp with timers
23449         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
23450         list.  Make it work when called inside a timer.  See
23451         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
23453 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
23455         Index byte-compile-debug
23457         * doc/lispref/compile.texi (Compilation Functions): Index
23458         byte-compile-debug.
23460 2017-01-31  Philipp Stephani  <phst@google.com>
23462         Document `byte-compile-debug' in the ELisp manual
23464         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
23466 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
23468         read-multiple-choice: explain dialog popups more
23470         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
23471         when a graphical popup is used and how it can be avoided.
23473 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
23475         auth-source-user-and-password: add forgotten user parameter
23477                 * lisp/auth-source.el (auth-source-user-and-password): Use
23478                   accidentally unused "user" parameter.
23479                   Reported by Oscar Najera <najera.oscar@gmail.com>.
23481 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
23483         Fix typo in a NEWS entry for CSS mode
23485 2017-01-31  Philipp Stephani  <phst@google.com>
23487         Document variable `byte-compile-debug'
23489         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
23491 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
23493         DOn't use string-as-unibyte in Gnus
23495         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
23496         string-as-unibyte.
23497         (nnmail-insert-xref): Ditto.
23499         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
23501         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
23503         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
23504         (gnus-browse-foreign-server): Ditto.
23505         (gnus-browse-foreign-server): Ditto.
23507         * lisp/gnus/gnus-start.el
23508         (gnus-update-active-hashtb-from-killed): Ditto.
23509         (gnus-read-newsrc-el-file): Ditto.
23511         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
23513         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
23514         (nnir-get-active): Ditto.
23516 2017-01-31  Juri Linkov  <juri@linkov.net>
23518         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
23520         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
23521         M-. in article buffers work for `foo' strings, and still allow
23522         C-s C-w to yank ' to the search ring (bug#22248).
23524 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
23526         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
23528 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
23530         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
23532 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23534         New test for diff-mode handling trailing --
23536         test/lisp/vc/diff-mode-tests.el: New test file
23538 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23540         Handle patch terminators produced by git and bzr patch export
23542         Patch by Juri Linkov posted in the #9597 bug report
23544         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
23545         terminator (Bug #9597, #5302)
23547 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23549         Revert two accidental commits
23551         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
23552         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
23554 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23556         stash
23558 2017-01-31  Dima Kogan  <dima@secretsauce.net>
23560         comint-get-old-input-default: behavior follows docstring
23562         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
23563         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
23564         if point is on an output field.
23566 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
23568         Fix call to debugger on assertion failure
23570         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
23571         argument must be `error', and the second is a list of arguments for
23572         `signal'.
23574 2017-01-30  Tom Tromey  <tom@tromey.com>
23576         css-mode documentation lookup feature
23578         * etc/NEWS: Mention new feature.
23579         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
23580         (css--mdn-lookup-history): New defvar.
23581         (css-lookup-url-format): New defcustom.
23582         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
23583         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
23584         defuns.
23585         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
23586         test.
23588 2017-01-30  Glenn Morris  <rgm@gnu.org>
23590         edt-mapper: just loading a library should not run code
23592         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
23593         containing code previously at top-level.
23594         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
23595         run edt-mapper function.
23597 2017-01-30  Glenn Morris  <rgm@gnu.org>
23599         mh-compat.el: remove duplicate definition
23601         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
23602         Remove duplicate definition.
23604 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23606         Add delq list arg check
23608         * src/fns.c (Fdelq): Check that list is a proper list.
23609         This is more compatible with what ‘delete’ does.
23611 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23613         * lisp/indent.el (indent-region-line-by-line): New function.
23615         Extracted from indent-region.
23616         (indent-region, indent-region-function): Use it.
23618 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23620         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
23622 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
23624         More fixes to prevent crashes on C-g
23626         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
23627         before returning, to avoid crashes in quit.  (Bug#25566)
23629 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
23631         Avoid crashes on C-g in TTY sessions
23633         * src/keyboard.c (handle_interrupt): Don't quit if
23634         waiting_for_input is set, as doing that is "unsafe": it will
23635         abort.  (Bug#25566)
23637 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
23639         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
23641         Merge remote-tracking branch 'origin/master' into feature/byte-switch
23643 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
23645         Fix hash tables not being purified correctly.
23647         * src/alloc.c
23648         (purecopy_hash_table) New function, makes a copy of the given hash
23649         table in pure storage.
23650         Add new struct `pinned_object' and `pinned_objects' linked list for
23651         pinning objects.
23652         (Fpurecopy) Allow purifying hash tables
23653         (purecopy) Pin hash tables that are either weak or not declared with
23654         `:purecopy t`, use purecopy_hash_table otherwise.
23655         (marked_pinned_objects) New function, marks all objects in pinned_objects.
23656         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
23657         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
23658         * src/fns.c: Add `purecopy' parameter to hash tables.
23659         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
23660         to make_hash_table.
23661         (make_hash_table): Add `pure' parameter, set h->pure to it.
23662         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
23663         CHECK_IMPURE.
23664         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
23665           hash tables.
23666         * src/print.c: (print_object) add the `purecopy' parameter while
23667           printing hash tables.
23668         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
23669           src/xterm.c: Use new (make_hash_table).
23671 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
23673         Escape dash in xref rgrep regexp
23675         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
23676         in REGEXP if it's the first character.
23678 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
23680         Say JavaScript, not Javascript
23682         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
23683         (js-js-error, js-eval, js-set-js-context)
23684         (js--get-js-context):
23685         Refer to the language consistently as JavaScript.
23687 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
23689         lisp/*.el: Fix some warnings
23691         * lisp/battery.el (dbus-get-property):
23692         * lisp/dired-aux.el (format-spec): Declare function.
23694         * lisp/net/zeroconf.el (zeroconf-list-service-names)
23695         (zeroconf-list-service-types, zeroconf-list-services):
23696         Mark unused lexical arg.
23698         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
23699         * lisp/progmodes/sql.el (sql-end-of-statement):
23700         Pass LIMIT to 'looking-back'.
23702 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
23704         Don't warn about obsolete defgenerics when defining them
23706         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
23707         should run after the definition code (Bug#25556).
23709 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
23711         Call modification hooks in org-src fontify buffers
23713         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
23714         `inhibit-modification-hooks' to nil, since this function can be called
23715         from jit-lock-function which binds that variable to t (Bug#25132).
23717 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
23719         Fix Bug#25524
23721         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
23722         Return position at the beginning off the hunk.
23723         (diff-file-junk-re): Add SVN keywords.
23725 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
23727         hl-line.el: Don't try to operate on a killed buffer
23729         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
23730         live buffers (bug#25522).
23732 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
23734         Use access-file in EWW to check before downloading a file
23736         * lisp/net/eww.el (eww-download): Check accessibility of
23737         eww-download-directory to prevent starting a download that will fail
23738         to write.
23739         * src/fileio.c (Faccess_file): Clarify the use of string argument in
23740         the docstring.
23742 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
23744         Subject: Check Bcc after the Messag hook has run
23746         * lisp/gnus/message.el (message-send): If the hook modifies
23747         the message (mml tags or headers), we should check bcc on the
23748         final message, not on the original.
23750 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
23752         Improve documentation of 'format' conversions
23754         * src/editfns.c (Fformat): More accurate description of %g and
23755         effects of the various flags on it.  More accurate description of
23756         integer conversions.
23758         * doc/lispref/strings.texi (Formatting Strings): More accurate
23759         description of %g and effects of the various flags on it.  More
23760         accurate description of integer conversions.  (Bug#25557)
23762 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
23764         test/*.el: Avoid byte-compiler warnings
23766         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
23768         * test/lisp/faces-tests.el (faces--test): New customization group.
23769         (faces--test1, faces--test2): Use it.
23771         * test/lisp/ffap-tests.el (ffap-tests-25243):
23772         Call 'mark-whole-buffer' interactively.
23774         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
23775         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
23776         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
23777         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
23779         * test/lisp/minibuffer-tests.el (completion-test1):
23780         Mark unused lexical arguments.
23782         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
23783         'with-no-warnings' to avoid them when the macro is invoked for effect.
23785         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
23786         Mark unused lexical arguments.
23788         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
23789         Mark unused lexical arguments.
23790         (let-alist-cons): Remove unused let binding.
23792         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
23793         (dbus-get-unique-name): Declare.
23795         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
23796         Call 'font-lock-fontify-buffer' interactively.
23798         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
23799         Mark unused lexical argument.
23801 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23803         Restore a test that was removed by a recent commit
23805         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
23806         errno value unless it's necessary.  (Bug#25419)
23808 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
23810         Fix a couple eww customization types
23812         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
23813         Change customization type to "directory".
23815 2017-01-27  Philipp Stephani  <phst@google.com>
23817         Don't require a shell when loading htmlfontify
23819         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
23820         detecting the etags version (Bug#25468).
23821         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
23822         test.
23824 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
23826         Slightly tune file-accessible-directory-p fix
23828         * src/fileio.c (Ffile_accessible_directory_p):
23829         Remove unnecessary test (Bug#25419).
23831 2017-01-27  Arash Esbati  <arash@gnu.org>
23833         Add \citetitle to biblatex cite format
23835         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
23836         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
23837         per user request
23838         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
23840 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23842         Fix charsets and encodings from non-file MIME parts
23844         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
23845         encoding right for parts that do not originate from files.
23847 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23849         Fix 'describe-variable' for longish variable values
23851         * lisp/help-fns.el (describe-variable): Don't accidentally remove
23852         the last character of a variable's value.  (Bug#25545)
23854 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
23856         Remove stale functions from ert manual
23858         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
23859         Replace ert--mismatch references with its cl-lib replacement,
23860         cl-mismatch.
23862 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23864         Fix a typo in Eshell manual
23866         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
23867         Kolybabi <mak@kolybabi.com>.
23869 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23871         Ensure last line is at window bottom in shell buffers
23873         * lisp/shell.el (shell-mode): Use setq-local.  Set
23874         scroll-conservatively to 101 locally.  See the discussion at
23875         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
23876         for the reasons.
23878 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
23880         Support Bash Ctrl-Z indication of directory name in term.el
23882         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
23883         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
23885 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23887         Don't report zero errno for inaccessible directory
23889         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
23890         a file handler reports a failure.  (Bug#25419)
23892 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
23894         Fix filenotify-tests on MS-Windows
23896         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
23897         (file-notify-test05-dir-validity)
23898         (file-notify-test06-many-events)
23899         (file-notify-test08-watched-file-in-watched-dir): Manually remove
23900         the watch descriptor before calling file-notify--test-cleanup-p.
23901         (Bug#25539)
23903 2017-01-27  Hong Xu  <hong@topbug.net>
23905         python-mode: Fix detection for opening blocks.
23907         * lisp/progmodes/python.el
23908         (python-info-dedenter-opening-block-positions): There can't be any
23909         back-indented lines between an opening block and the current line.
23911         * test/lisp/progmodes/python-tests.el
23912         (python-indent-electric-colon-4): Add an indent test case where
23913         there is one-more indented previous opening block.
23915 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23917         Fix Message check for bogus domain names
23919         * lisp/gnus/message.el (message-make-fqdn): Fix check for
23920         bogus system names (bug#24570).
23922 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
23924         Subject: Restore correct Gnus newsgroup name after sending message
23926         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
23927         gnus-newsgroup-name in the correct buffer (bug#24329).
23929 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23931         Mention the new Gnus sorting command
23933 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23935         Don't try to find charsets of non-text MIME parts
23937         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
23938         to try to determine the charset of non-text message parts, so
23939         skip that (bug#24190).  This will also remove messages like
23940         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
23941         if you include such files.
23943 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
23945         Add new command gnus-article-sort-by-marks
23947         * doc/misc/gnus.texi (Summary Sorting): Mention
23948         gnus-summary-sort-by-marks.
23950         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
23951         function (bug#23393).
23952         (gnus-thread-sort-by-marks): Ditto.
23953         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
23954         (gnus-summary-mode-map): Add keystroke.
23955         (gnus-summary-make-menu-bar): Add to menu.
23957 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
23959         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
23961         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
23962         Ignore summary commands that aren't bound to
23963         gnus-article-read-summary-keys keys (bug#18257).
23965 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23967         Fix crossposting in non-primary groups
23969         * lisp/gnus/message.el
23970         (message-cross-post-followup-to-header): Gnus server prefixes
23971         shouldn't be included in the group names (bug#21661).
23972         (message-cross-post-followup-to): Ditto.
23974 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23976         Gnus doc clarification
23978         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
23979         that "unreachable" is the same as disabling it (bug#21630).
23981 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23983         Remove dead code from rfc2047
23985         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
23987         It's been disabled since 2005, when I made the change with the
23988         following comment.
23990         (rfc2047-encode-message-header): Disabled header folding -- not
23991         all headers can be folded, and this should be done by the message
23992         composition mode.  Probably.  I think.
23994 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
23996         Fill too long mail headers
23998         * lisp/gnus/message.el (message--fold-long-headers): New
23999         function to fold too-long headers (bug#21608).
24000         (message-send-mail): Use it to fill headers longer than 998
24001         characters (which is the protocol limit).
24003 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24005         Make nndoc more resilient against corrupted files
24007         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
24008         out on invalid files, like invalid .gz files (bug#21538).
24009         This may hinder Gnus from starting up.
24011 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24013         Respect buffer-local message-fcc-handler-function
24015         * lisp/gnus/message.el (message-do-fcc): Copy the local
24016         variables from the Message buffer so that local settings of
24017         `message-fcc-handler-function' etc are respected (bug#21174).
24019 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24021         (message-do-fcc): Modernize the code slightly.
24023         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
24025 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24027         Avoid a regexp overflow in message-goto-body
24029         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
24030         complicated backtracking regexp, because they may overflow on
24031         large headers (bug#21160).
24033 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24035         Refactor message-goto-body
24037         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
24039 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24041         Fix typo in last checkin
24043         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
24044         nnimap-shell-program (bug#20651).
24046 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24048         Document nnimap-shell-program
24050         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
24051         nnimap-shell-program (bug#20651).
24053 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24055         Document :shell-command in `make-network-process'
24057         * doc/lispref/processes.texi (Network): Document :shell-command.
24059         * lisp/net/network-stream.el (open-network-stream): Document
24060         the :shell-command parameter (bug#20651).
24062 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24064         Gnus doc clarification
24066         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
24067         the gnus-prompt-before-saving variable (bug#20500).
24069 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24071         Fix the previous mml patch better
24073         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
24074         previous patch in a better way (bug#20480).
24076 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24078         Give a slight better error message in mml-minibuffer-read-file
24080         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
24081         better error message when the user enters nothing (bug#20480).
24083 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
24085         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
24087 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24089         Make eww buffers prettier in the buffer listing
24091         * lisp/net/eww.el (eww-render): Put the currently visited URL
24092         into the buffer listing (bug#23738).
24093         (eww-render): Ditto.
24095 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24097         Allow mml-attach-file to prompt less
24099         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
24100         prompt for type/description/disposition, but use defaults
24101         (bug#19202).
24103 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
24105         Don't allow message-newline-and-reformat to be run outside the body
24107         * lisp/gnus/message.el (message-newline-and-reformat): Error
24108         out if run outside the body of a message (bug#18820).
24110 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
24112         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
24114         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
24115           byte-compile-constant instead of byte-compile-form to push nil.
24117 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
24119         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
24121 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
24123         Replace QUIT with maybe_quit
24125         There’s no longer need to have QUIT stand for a slug of C statements.
24126         Use the more-obvious function-call syntax instead.
24127         Also, use true and false when setting immediate_quit.
24128         These changes should not affect the generated machine code.
24129         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
24131 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
24133         A quicker check for quit
24135         On some microbenchmarks this lets Emacs run 60% faster on my
24136         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
24137         * src/atimer.c: Include keyboard.h, for pending_signals.
24138         * src/editfns.c (Fcompare_buffer_substrings):
24139         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
24140         (Fnconc, Fplist_member):
24141         Set and clear immediate_quit before and after loop instead of
24142         executing QUIT each time through the loop.  This is OK for loops
24143         that affect only locals.
24144         * src/eval.c (process_quit_flag): Now static.
24145         (maybe_quit): New function, containing QUIT’s old body.
24146         * src/fns.c (rarely_quit): New function.
24147         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
24148         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
24149         Use it instead of QUIT, for
24150         speed in tight loops that might modify non-locals.
24151         * src/keyboard.h (pending_signals, process_pending_signals):
24152         These belong to keyboard.c, so move them here ...
24153         * src/lisp.h: ... from here.
24154         (QUIT): Redefine in terms of the new maybe_quit function, which
24155         contains this macro’s old definiens.  This works well with branch
24156         prediction on processors with return stack buffers, e.g., x86
24157         other than the original Pentium.
24159 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
24161         Simplify make-list implementation
24163         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
24164         is not worth it these days.
24166 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
24168         Make use of cl-loop destructuring
24170         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
24171         destructuring.
24172         (with-js): Add declare forms.
24174 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24176         Revert "Bind C-c keys in the article buffer"
24178         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
24180         The commit somehow lead to problems in other parts of Emacs.
24182 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24184         Document how to quote MML tags
24186         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
24187         quote MML tags (bug#18881).
24189 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24191         Make address parsing more robust
24193         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
24194         bug out on addresses like
24195         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
24196         (bug#18572).
24198 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24200         Fix the %P (line number) thing in Gnus summary buffers
24202         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
24204         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
24205         "pick" mode line number on entry instead of relying in a hack (bug#18311).
24207 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24209         Fix wrong documentation on nnmairix keystrokes
24211         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
24212         nnmairix commands are on G G, not $ (bug#18260).
24214 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24216         Bind C-c keys in the article buffer
24218         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
24219         C-c keys so that they execute in the summary buffer
24220         (bug#18257).  This makes commands like `C-c C-f' work from the
24221         article buffer.
24223 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24225         Don't mark articles in Gnus as displayed when they aren't
24227         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
24228         mark any articles as selected if we're not selecting any
24229         articles (bug#18255).
24231 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
24233         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
24235         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
24237         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
24239         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
24241 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
24243         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
24245         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
24246           constant encountered precedes a byte-switch op, replace all the
24247           addresses in the jump table with tags.
24249 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
24251         Move cXXXr and cXXXXr to subr.el
24253         * etc/NEWS: Mention new core Elisp.
24254         * doc/lispref/lists.texi (List Elements): Document and index the new
24255         functions.
24256         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
24257         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
24258         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
24259         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
24260         (cddddr): New functions.
24261         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
24262         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
24263         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
24264         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
24265         (cl-cdddar, cl-cddddr): Alias to new subr functions.
24266         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
24267         elements.
24269 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24271         Only save .newsrc file if the native method is NNTP
24273         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
24274         the .newsrc file if the native select method is NNTP
24275         (bug#18198).  This avoids problems with invalid IMAP group
24276         names and the like in the .newsrc file.
24278 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24280         Only save .newsrc file if the native method is NNTP
24282         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
24283         the .newsrc file if the native select method is NNTP
24284         (bug#18198).  This avoids problems with invalid IMAP group
24285         names and the like in the .newsrc file.
24287 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24289         Gnus custom spec fix
24291         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
24292         spec to match the doc string (bug#17679).
24294 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24296         Clarify confusing Gnus error message
24298         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
24299         confusing error message (bug#17677).
24301 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24303         Make C-u C-x m work with Message as documented
24305         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
24306         parameter (bug#17175).
24308 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24310         Fix problem with auto-mode and dir-locals-collect-variables
24312         * lisp/files.el (dir-locals-collect-variables): When run from
24313         auto-mode, the file in question may not be an absolute path
24314         name (bug#24016).
24316         Example backtrace:
24318         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
24319           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
24320           hack-dir-local-variables()
24321           hack-local-variables(no-mode)
24322           run-mode-hooks(diff-mode-hook)
24323           diff-mode()
24324           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
24326 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24328         Attach text files correctly in Message
24330         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
24331         system has been used in attached text files, and don't try to
24332         do any encoding of these files (bug#13808).
24334 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24336         Build fix for older gnutls versions
24338         * src/gnutls.c (emacs_gnutls_handle_error):
24339         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
24340         gnutls-3.
24342 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
24344         ediff-difference-vector-alist: Drop duplicated definition
24346         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
24347         Drop duplicated definition.
24348         (ediff-difference-vector-A, ediff-difference-vector-B)
24349         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
24350         Move definition before 'ediff-difference-vector-alist'.
24352 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24354         Revert "nnimap.el: support additional expunge options"
24356         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
24358         The patch broke fetching new mail:
24360         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
24361           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
24362           (looking-at (format "%d .*\n" sequence))
24363           (not (looking-at (format "%d .*\n" sequence)))
24364           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
24366 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
24368         nnimap.el: support additional expunge options
24370         * lisp/gnus/nnimap.el (nnimap-close-group)
24371         (nnimap-request-expire-articles, nnimap-delete-article)
24372         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
24373         settings for nnimap-expunge (bug#20670).
24375 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24377         Don't tag Gnus bugs with "gnus"
24379         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
24381         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
24382         have its own package any more in the bug tracker.
24384 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
24386         Tweak TLS error messaging on closed connections
24388         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
24389         peer-closed-connection "The TLS connection was non-properly
24390         terminated" message to a lower level so that it isn't shown to
24391         the user by default.
24393 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24395         Avoid having eww unexpectedly open external browsers
24397         * lisp/net/eww.el (eww-render): Instead of opening unsupported
24398         content types like audio/mpeg directly in an external browser
24399         (which can be very confusing especially when something
24400         redirects to a file like that), just display a simple
24401         interstitial that people can choose to click on or not
24402         (bug#22671).
24404 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24406         When opening new eww buffers, use buffer names based on the host name
24408         * lisp/net/eww.el (eww-browse-url): When opening in a new
24409         window, use a buffer name based on the host name (bug#23738).
24410         (eww--dwim-expand-url): Refactored out into its own function
24411         for easier reuse.
24413 2017-01-24  David Engster  <deng@randomsample.de>
24415         xml: Fix parsing of default namespace with quoted names
24417         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
24418           parsing is done with quoted symbol names (bug#23440).
24419         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
24420           (xml-parse-test-default-namespace-qnames): Test for the above.
24422 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24424         Fix rendering of some complex SVG images
24426         * lisp/net/shr.el (shr-parse-image-data): Don't transform
24427         SVG->DOM->XML unless we're blocking images, as this is apt to
24428         destroy the SVG (bug#24111).
24430 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24432         Clarify the last clarification
24434         * lisp/net/shr.el (shr-width): Clarify the interaction with
24435         `shr-use-fonts' (bug#24928).
24437 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24439         shr-width doc clarification
24441         * lisp/net/shr.el (shr-width): Clarify the interaction with
24442         `shr-use-fonts' (bug#24928).
24444 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
24446         Allow passing in max-width/height
24448         * lisp/net/shr.el (shr-rescale-image): Allow passing in
24449         max-width/height (bug#25287).
24451 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
24453         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
24455         Require `cl' for `pushnew'.
24456         (vhdl-scan-project-contents, vhdl-compose-wire-components)
24457         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
24459 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
24461         Fix comment detection on open parens
24463         Characters having both open paren syntax and comment start syntax were
24464         being detected as open parens even when they should have been part a
24465         comment starter (Bug#24870).
24467         * src/syntax.c (in_2char_comment_start): New function, extracted from
24468         `scan_sexps_forward'.
24469         (scan_sexps_forward): Add check for a 2-char comment starter before the
24470         loop.  Inside the loop, do that check after incrementing the 'from'
24471         character index.  Move the single char comment syntax cases into the
24472         switch instead of special casing them before.
24473         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
24474         (parse-partial-sexp-continue-over-comment-marker): New tests.
24476 2017-01-23  Alan Mackenzie  <acm@muc.de>
24478         Give , and .@ doc strings.  Fixes bug #24561.
24480         Also make *Help* links to ``' possible.  Also make usable as such doc strings
24481         on the function-documentation property of a symbol.
24483         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
24484         function-documentation property.  Also give these symbols a reader-construct
24485         property.
24487         * lisp/help-fns.el (describe-function): Allow the function-documentation
24488         property to work.  Use princ rather than prin1 to print the function's name
24489         when it has a reader-construct property.
24490         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
24491         (describe-function-1): Adapt to process documentation on the
24492         function-documentation property.  Print "a reader construct" when appropriate.
24494         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
24495         ``'.
24497 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
24499         Improve uses of CHECK_LIST etc.
24501         * src/eval.c (FletX): Report an error for invalid constructs like
24502         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
24503         (lambda_arity): Use plain CHECK_CONS.
24504         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
24505         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
24506         concat does that for us.
24507         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
24508         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
24509         runtime check out of the loop.
24510         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
24511         (Fassq, Fassoc, Frassq, Frassoc):
24512         Simplify and use CHECK_LIST_END instead of CAR.
24513         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
24514         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
24515         * src/fontset.c (Fnew_fontset):
24516         * src/frame.c (Fmodify_frame_parameters):
24517         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
24518         more-complete check.
24519         * src/gfilenotify.c (Fgfile_add_watch):
24520         Omit unnecessary CHECK_LIST, since Fmember does that for us.
24521         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
24522         Remove; no longer used.
24523         (CHECK_LIST_END): New inline function.
24525 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
24527         Prevent to use tabulated-list--near-rows unbound
24529         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
24530         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
24532 2017-01-22  Juri Linkov  <juri@linkov.net>
24534         * lisp/simple.el (region-bounds): New function.
24536         (region-noncontiguous-p): Use it.
24537         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
24539 2017-01-21  Alan Mackenzie  <acm@muc.de>
24541         Fix low-level handling of (big) C macros.
24543         In particular, ensure that a comment detected by its syntax is not a CPP
24544         construct marked with generic comment delimiter syntax-table text
24545         properties.
24547         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
24548         c-macro-cache-syntactic to nil when the cached macro changes.
24549         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
24550         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
24551         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
24552         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
24553         (c-determine-limit): When checking a parse syntax for a comment, check that
24554         we're not in a CPP construct marked by syntax-table generic comment delimiter
24555         text property.
24556         (c-state-pp-to-literal): Change from a defsubst to a defun.
24558         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
24559         parse syntax as described above under cc-engine.el.
24561 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
24563         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
24565 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
24567         Don't wait for frame to become visible
24569         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
24570         frame to become visible.  We have to deal with invisible frames anyway,
24571         the loop could sometimes before the frame turned visible, and for some
24572         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
24573         busy loop (Bug#24091).
24575 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
24577         diff-hunk-kill independent of point inside headers
24579         Make diff-apply-hunk and diff-hunk-kill independent of the point
24580         position in a diff header (Bug#17544).
24581         This change allows to apply hunks in order.  It also makes possible to
24582         press M-k repeatedly to kill hunks in the order they appear in the buffer.
24583         See discussion on #Bug25105.
24584         * lisp/vc/diff-mode.el (diff-file-junk-re):
24585         Move definition before it's used.
24586         (diff--at-diff-header-p): New predicate; return non-nil when point
24587         is inside a hunk header, a file header, or within a line
24588         matching diff-file-junk-re.
24589         (diff-beginning-of-hunk): Use it.
24590         Check if the point is inside a diff header, in the middle of a hunk,
24591         or before the first hunk.
24592         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
24593         before apply the hunk.
24594         (diff-hunk-kill, diff-file-kill):
24595         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
24596         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
24598 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
24600         Improve documentation of hooks related to saving buffers
24602         * lisp/files.el (write-file-functions, write-contents-functions)
24603         (before-save-hook, after-save-hook): Note that these are only used
24604         by save-buffer.
24606         * doc/lispref/backups.texi (Auto-Saving):
24607         * doc/lispref/files.texi (Saving Buffers): Mention that
24608         save-related hooks are not run by auto-saving.  (Bug#25460)
24610 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
24612         Improve documentation of auto-save-visited-file-name
24614         * doc/emacs/files.texi (Auto Save Files): Mention subtle
24615         differences between saving the buffer and auto-saving with
24616         auto-save-visited-file-name set non-nil.  (Bug#25478)
24618 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
24620         Fix free var FOO-mode-{syntax,abbrev}-table warnings
24622         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
24623         defvar the syntax and abbrev tables so that the compiler will know that
24624         they are dynamically bound variables (Bug#25446).
24626 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24628         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
24630         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
24631           eval obj2 to avoid quoted forms being stored as is.
24633 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24635         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
24637 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24639         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
24641         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
24642         default-case for last cond clause.
24644 2017-01-19  Philipp Stephani  <phst@google.com>
24646         Check that variable lists are actually lists
24648         'let' and 'let*' document that their first argument has to be a list,
24649         but don't check for that; instead, they allow (and silently ignore)
24650         other types.  Introduce an explicit type check.
24652         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
24653         list.
24654         * test/src/eval-tests.el: Add unit tests.
24656 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24658         Add type checking for Bswitch, when enabled at compile time.
24660         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
24661           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
24663 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
24665         Use byte-switch for all symbols.
24667         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
24668           t for all symbols (instead for just keywords)
24670 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
24672         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
24674         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
24675         (diff-refine-hunk): Use it instead of trying to match multiple lines
24676         with a single lines.
24678 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24680         Remove lock file when auto-saving into the visited file
24682         * src/fileio.c (write_region): When auto-saving into the visited
24683         file, unlock the file whenever we mark the buffer unmodified.
24684         (Bug#25470)
24686 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
24688         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
24690         Fgethash type checks the provided table object, which is unnecessary
24691         for compiled bytecode.
24693 2017-01-18  Tom Tromey  <tom@tromey.com>
24695         fix typo in mailcap-mime-extensions
24697         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
24698         not "test/x-patch".  (Bug#25472)
24700 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
24702         Fix typos in flymake.el
24704         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
24705         Spelling fixes in the doc string.
24707 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24709         Fix a bug with signaling a thread that waits for condvar
24711         * src/thread.c (lisp_mutex_lock_for_thread): New function,
24712         with all the guts of lisp_mutex_lock.
24713         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
24714         (condition_wait_callback): Don't call post_acquire_global_lock
24715         before locking the mutex, as that could cause a signaled thread to
24716         exit prematurely, because the condvar's mutex is recorded to be
24717         not owned by any thread, and with-mutex wants to unlock it as part
24718         of unwinding the stack in response to the signal.
24720 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
24722         Rudimentary error handling for non-main threads
24724         * src/thread.c (last_thread_error): New static variable.
24725         (syms_of_threads): Staticpro it.
24726         (record_thread_error, Fthread_last_error): New functions.
24727         (syms_of_threads): Defsubr Fthread_last_error.
24729         * doc/lispref/threads.texi (Basic Thread Functions): Document
24730         thread-last-error.
24732         * test/src/thread-tests.el (thread-errors, thread-signal-early)
24733         (threads-condvar-wait): Test the values returned by
24734         thread-last-error.
24736 2017-01-17  Tom Tromey  <tom@tromey.com>
24738         Add info-lookup help for gdb-script-mode
24740         Bug#25464:
24741         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
24742         function.
24743         Add help for gdb-script-mode.
24745 2017-01-17  Tom Tromey  <tom@tromey.com>
24747         Treat ":root" as a css-selector
24749         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
24750         ":root" as selector.
24752 2017-01-17  Tom Tromey  <tom@tromey.com>
24754         Fix JS regexp literal syntax propertization in expressions
24756         Bug#25465:
24757         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
24758         literal after "!", "&", and "|".
24759         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
24761 2017-01-17  Glenn Morris  <rgm@gnu.org>
24763         More NEWS checking for admin.el's set-version
24765         * admin/admin.el (set-version): Warn if temporary NEWS markup
24766         still present in release candidates.
24768 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
24770         Mark unused arguments and remove unused variables
24772         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
24773         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
24774         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
24775         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
24776         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
24777         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
24778         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
24779         (dungeon-nil): Mark arguments as unused.
24780         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
24781         (dun-restore): Remove unused variable.
24783 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
24785         Fix auto-save-file-name problem in Tramp on MS Windows
24787         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
24788         rather than an ange-ftp regexp.
24790         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24791         Fix a problem when running on MS Windows.
24793         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
24794         Adapt test.
24796 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
24798         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
24800         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24801         Fix a problem when running on MS Windows.
24803 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
24805         Merge from origin/emacs-25
24807         42614fa Update remaining copyright years with admin.el M-x set-copyright
24808         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
24810 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
24812         Nix some uses of eval
24814         * lisp/play/dunnet.el: Fix triple negative.
24815         (dun-doverb): Use funcall instead of eval.
24816         (dun-echo): Just call dun-mprinc.
24817         (dun-save-val): Just bind value without eval.
24819 2017-01-17  Tom Tromey  <tom@tromey.com>
24821         Fix comment in css-mode.el
24823         * lisp/textmodes/css-mode.el: Remove obsolete comment.
24825 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
24827         update branch
24829 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
24831         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
24833 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
24835         Improve ffap-gopher-at-point handling of long lines
24837         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
24838         setting to nil is now supported.
24839         (ffap--gopher-var-on-line): New function.
24840         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
24841         which could overflow the regexp stack on long lines (Bug#25391).  Use
24842         `let-alist' instead of calling `set' on local variables.
24843         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
24845 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
24847         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
24849         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
24850           finding the tag in a jump table.
24852 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
24854         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
24856 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
24858         Add new 'switch' byte-code.
24860         'switch' takes two arguments from the stack: the variable to test, and
24861         a jump table (implemented as a hash-table with the appropriate :test
24862         function). By looking up the value of the variable in the hash table,
24863         the interpreter can jump to the label pointed to by the value, if any.
24864         This implementation can only be used for `cond' forms of the type
24865         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
24866         variable `x` is same for all clauses.
24868         * lisp/emacs-lisp/bytecomp.el:
24870           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
24871             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
24872             (byte-compile-cond-jump-table), byte-compile-jump-tables.
24874           * Add defcustom `byte-compile-cond-use-jump-table'.
24876           * (byte-compile-cond): Use them.
24878           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
24880         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
24881           some peephole optimizations to prevent them from messing up any code
24882           involving `byte-switch`.
24884         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
24886 2017-01-14  Alan Third  <alan@idiocy.org>
24888         Fix NS main thread check (bug#25265)
24890         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
24891         isMainThread.
24893 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24895         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
24897         `:sqli-comint-func' does not have to be a symbol.
24899 2017-01-14  Alan Mackenzie  <acm@muc.de>
24901         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
24903         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
24904         its previous value, we chose strategy 'forward, and the new HERE is in a
24905         (different) macro, ensure the returned START-POINT is not above the start of
24906         the macro.
24908 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
24910         Include "Date:" in mail messages filed by 'sendmail-send-it'
24912         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
24913         into the filed message.  In the outgoing message, sendmail will
24914         add the date, but the composed message body doesn't have it.
24915         (Bug#25436)
24917 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
24919         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
24921 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
24923         Remove leftover references to log-view-message-face
24925         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
24927         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
24929         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
24931 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
24933         Record autoloads till emacs dump
24935         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
24936         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
24938         Previously, autoloads were collected till loaddefs.el was generated as
24939         part of the build. However, bootstrap-emacs does not load
24940         loaddefs (rather it is dumped), hence we must record autoloads until the
24941         full emacs binary is dumped.
24943 2017-01-13  Tom Tromey  <tom@tromey.com>
24945         Add chained indentation to js-mode
24947         Bug#20896
24948         * lisp/progmodes/js.el (js-chain-indent): New variable.
24949         (js--skip-term-backward, js--skip-terms-backward)
24950         (js--chained-expression-p): New functions.
24951         (js--proper-indentation): Call js--chained-expression-p.
24952         * test/manual/indent/js-chain.js: New file.
24953         * test/manual/indent/js.js: Add (non-)chained indentation test.
24955 2017-01-13  Tom Tromey  <tom@tromey.com>
24957         Fix js-mode indentation bug
24959         Bug#15582:
24960         * lisp/progmodes/js.el (js--find-newline-backward): New function.
24961         (js--continued-expression-p): Use it.
24962         * test/manual/indent/js.js: Add new test.
24964 2017-01-13  Tom Tromey  <tom@tromey.com>
24966         Fix definition of EMACS in test/manual/indent/Makefile
24968         * test/manual/indent/Makefile (EMACS): Add one more "..".
24970 2017-01-13  Tom Tromey  <tom@tromey.com>
24972         Add .jsx to auto-mode-alist
24974         Bug#25389:
24975         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
24977 2017-01-13  Tom Tromey  <tom@tromey.com>
24979         Fix two js-mode filling bugs
24981         Bug#19399 and Bug#22431:
24982         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
24983         c-block-comment-start-regexp.
24984         * test/lisp/progmodes/js-tests.el: New file.
24986 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24988         Fix last change
24990         * test/src/thread-tests.el (threads-condvar-wait): Revert
24991         previous change.  Make sure no other threads from previous
24992         tests are running, to avoid interfering with our thread counts.
24994 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
24996         Fix the new condvar test
24998         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
24999         time we sleep in the main thread to let the other thread
25000         process notifications.
25002 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
25004         Minor improvements in the new condvar test
25006         * test/src/thread-tests.el (threads-test-condvar-wait): Use
25007         with-mutex instead of emulating it inline.
25008         (threads-condvar-wait): Improve comments.  Check that the new
25009         thread is alive before waiting for it to become blocked on the
25010         conditional variable.
25012 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
25014         Fix a bug in waiting for condition variable
25016         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
25017         (lisp_mutex_unlock_for_wait, condition_wait_callback)
25018         (condition_notify_callback): Improve commentary.
25019         (condition_wait_callback): Call post_acquire_global_lock before
25020         attempting to lock the mutex, to make sure the lock's owner is
25021         recorded correctly.
25023         * test/src/thread-tests.el (threads-condvar-wait): New test.
25025 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
25027         Improve documentation of dabbrevs
25029         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
25030         to "Dabbrev Customization".
25031         (Dabbrev Customization): More details about the default value of
25032         dabbrev-abbrev-char-regexp and use cases when it might not be good
25033         enough.  (Bug#25432)
25035 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25037         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
25039 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25041         mm-uu.el: Don't dissect patch part
25043         This fixes a bug that the patch part is broken in the article
25044         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
25046         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
25047         Don't dissect patch part.
25049 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
25051         Fix extracting async def type and name in python mode imenu
25053         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
25054         New function.
25055         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
25056         extract async or simple def type and name at current
25057         position (Bug#24820).
25058         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
25059         (python-imenu-create-flat-index-1): Add async def's.
25061 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25063         Remove garbage from Content-Transfer-Encoding value (bug#25420)
25065         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
25066         (ietf-drums-remove-garbage): New function.
25067         (ietf-drums-remove-whitespace): Remove CR as well.
25069         * lisp/mail/mail-parse.el (mail-header-strip-cte):
25070         Alias to ietf-drums-strip-cte.
25072         * lisp/gnus/gnus-art.el (article-decode-charset):
25073         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
25074         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
25075         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
25076         (nndoc-rfc822-forward-generate-article):
25077         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
25078         Replace mail-header-strip with mail-header-strip-cte.
25080 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
25082         Restore behavior of ‘./autogen.sh autoconf git’
25084         * autogen.sh: Do both autoconf and git setup when invoked
25085         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
25086         Mention new --no-check option in usage message.  (Bug#25359)
25088 2017-01-12  Glenn Morris  <rgm@gnu.org>
25090         * autogen.sh: Simplify argument parsing.
25092 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
25094         Clarify that easy-menu-add is a nop (Bug#25382)
25096         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
25097         `ignore', like `easy-menu-remove'.
25099 2017-01-12  Glenn Morris  <rgm@gnu.org>
25101         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
25103 2017-01-11  Glenn Morris  <rgm@gnu.org>
25105         * autogen.sh: Add --no-check option.  (Bug#25359)
25107 2017-01-11  Glenn Morris  <rgm@gnu.org>
25109         Convert some network test failures to skipping
25111         These tests intermittently fail on hydra.nixos.org for unclear
25112         reasons related to starting the external process.
25113         This isn't an Emacs issue, and the failures cause noise on
25114         the emacs-buildstatus list.  (Bug#24503)
25115         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
25116         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
25117         external process fails to start properly.
25119 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
25121         Revert "Add DNS keywords and remove duplications"
25123         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
25125 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
25127         Add DNS keywords and remove duplications
25129         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
25130         NSEC" DNS related keywords and remove duplication of "NSAP".
25132 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
25134         Add DNS keywords and remove duplications
25136         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
25137         NSEC" DNS related keywords and remove duplication of "NSAP".
25139 2017-01-11  Alan Mackenzie  <acm@muc.de>
25141         Handle syntactic WS cache properties more accurately at buffer changes.
25143         This fixes bug #25362.
25145         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
25146         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
25147         (c-invalidate-sws-region-after-ins): New variables and functions.
25148         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
25149         Also pass
25150         it the standard OLD-LEN argument.  Call both
25151         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
25152         cache
25153         properties.
25155         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
25156         variable.
25158         * lisp/progmodes/cc-mode.el (c-before-change): Call
25159         c-invalidate-sws-region-before.
25160         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
25162 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
25164         Support stat 8.26 in Tramp
25166         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
25167         environment variable of newer coreutils.  (Bug#23422)
25169 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
25171         Improve documentation of coding-systems
25173         * doc/lispref/nonascii.texi (Coding System Basics): Mention
25174         'prefer-utf-8'.  Index it and 'undecided'.
25175         (Encoding and I/O): Fix a typo.
25176         (User-Chosen Coding Systems): Improve the documentation of
25177         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
25178         select-safe-coding-system-function.
25179         (Specifying Coding Systems): Document coding-system-require-warning.
25181 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25183         Merge from gnulib
25185         This incorporates:
25186         2017-01-09 maint: time stamp -> timestamp
25187         2017-01-07 stdioext: Port to Minix 3.2 and newer
25188         2017-01-06 glob, intprops, xalloc: work around Clang bug
25189         2017-01-02 revert copyright-year change to synced files
25190         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
25191         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
25192         * lib/utimens.c, lib/xalloc-oversized.h:
25193         Copy from gnulib.
25195 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
25197         Don't use unsafe encoding for the bookmark file
25199         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
25200         explicitly specified encoding of the bookmark file cannot encode the
25201         additional bookmarks just added.  (Bug#25365)
25203 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
25205         Improve definition of 'variable-pitch' face on MS-Windows
25207         * lisp/faces.el (variable-pitch): Don't specify too many
25208         attributes of the font, otherwise faces that request different
25209         weight or slant or size will not get them.
25211 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
25213         Fix an error message in python.el
25215         * lisp/progmodes/python.el (python-shell-get-process-or-error):
25216         Don't repeat the same key binding twice.  (Bug#25405)
25218 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
25220         Remove unused ldefs-boot.el
25222          * lisp/ldefs-boot.el: Remove
25224         This file was not removed as reported in c27b645956a11, but accidentally
25225         left.
25227 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
25228             Eli Zaretskii  <eliz@gnu.org>
25230         Use expanded stack during regex matches
25232         While the stack is increased in main(), to allow the regex stack
25233         allocation to use alloca we also need to modify regex.c to actually take
25234         advantage of the increased stack, and not limit stack allocations to
25235         SAFE_ALLOCA bytes.
25237         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
25238         allocations in signal handlers which no longer happens and correct
25239         description about when and why MATCH_MAY_ALLOCATE should be defined.
25240         (emacs_re_safe_alloca): New variable.
25241         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
25242         of MAX_ALLOCA.
25243         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
25244         confusion with glibc's `re_max_failures'.
25245         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
25246         to the stack.  Instead of changing emacs_re_max_failures based on the
25247         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
25248         remains constant regardless, since if we run out stack space SAFE_ALLOCA
25249         will fall back to heap allocation.
25251 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
25253         Fix computation of regex stack limit
25255         The regex stack limit was being computed as the number of stack entries,
25256         whereas it was being compared with the current size as measured in
25257         bytes.  This could cause indefinite looping when nearing the stack limit
25258         if re_max_failures happened not to be a multiple of sizeof
25259         fail_stack_elt_t (Bug #24751).
25261         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
25262         limit as numbers of stack entries.
25264 2017-01-08  Alan Third  <alan@idiocy.org>
25266         Remove apploopnr
25268         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
25269         allow app loop to run in main thread.
25271 2017-01-08  Glenn Morris  <rgm@gnu.org>
25273         Remove unused configure output variable
25275         * configure.ac (GNULIB_MK):
25276         * Makefile.in (gnulib_mk): Remove, no longer used.
25278 2017-01-08  Glenn Morris  <rgm@gnu.org>
25280         Fix automake dependencies
25282         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
25283         All platforms need this file to exist.
25285 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25287         Remove unnecessary blankp code
25289         * src/character.c (blankp): Remove redundant code that slows Emacs
25290         down a bit.  The caller already does the test.
25292 2017-01-08  Stefan Merten  <stefan@merten-home.de>
25294         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
25296         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
25297         (rst-svn-timestamp)
25298         (rst-official-version, rst-official-cvs-rev)
25299         (rst-package-emacs-version-alist): Maintain version numbers.
25300         (rst-forward-indented-block): Fix. Start searching at next
25301         line again. Fixes fontification of comments continuing on the
25302         same line they started.
25304 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25306         Remove @SET_MAKE@ from manually-maintained files
25308         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
25309         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
25310         * src/Makefile.in: Remove @SET_MAKE@.
25312 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
25314         Fix a problem with `start-file-process' in Tramp
25316         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
25317         `start-file-process' shall work when `non-essential' is
25318         non-nil, but there is already an established connection.
25319         <https://github.com/company-mode/company-mode/issues/462>
25321 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
25323         Fix selecting SQLite database files with sql-mode (Bug#23566)
25325         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
25326         SQLite database file name, by default.
25327         (sql-get-login-ext): Fixed read-file-name arguments to provide
25328         path completion even if a database name pattern is customized and to
25329         allow creation of new SQLite database files.
25331 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
25333         Clarify major mode switching
25335         * doc/emacs/modes.texi (Major Modes):
25336         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
25337         buffer has exactly one major mode and can't be "turned off", only
25338         switched away from (Bug#25357).
25340 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
25342         Add helpful comment to compile-command's docstring
25344         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
25345         docstring (Bug#25337).
25347 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
25349         Specify encoding of the bookmark file
25351         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
25352         Accept an argument CODING and include a 'coding:' cookie in the
25353         bookmark file preamble.
25354         (bookmark-upgrade-file-format-from-0): Call
25355         'bookmark-insert-file-format-version-stamp' with the file buffer's
25356         encoding, as detected when it was read.
25357         (bookmark-file-coding-system): New variable.
25358         (bookmark-load): Set bookmark-file-coding-system to the encoding
25359         of the loaded file.
25360         (bookmark-write-file): Bind coding-system-for-write to either the
25361         user setting via "C-x RET c" or to the existing file encoding,
25362         defaulting to 'utf-8-emacs'.  Update the value of
25363         bookmark-file-coding-system.  (Bug#25365)
25365 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
25367         Avoid infloop in 'ispell-region'
25369         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
25370         Protect against 'ispell-skip-region-alist' being nil.  Reported by
25371         Ernest Adrogué <nfdisco@gmail.com>, see
25372         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
25374 2017-01-06  Philipp Stephani  <phst@google.com>
25376         Add support for Unicode whitespace in [:blank:]
25378         See Bug#25366.
25380         * src/character.c (blankp): New function for checking Unicode
25381         horizontal whitespace.
25382         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
25383         whitespace.
25384         (BIT_BLANK): New bit for range table.
25385         (re_wctype_to_bit, execute_charset): Use it.
25386         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
25387         unit test for [:blank:] character class.
25388         * test/src/regex-tests.el (test): Adapt unit test.
25389         * doc/lispref/searching.texi (Char Classes): Document new Unicode
25390         behavior for [:blank:].
25392 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
25394         Fix ':version' of 'select-enable-primary'
25396         * lisp/select.el (select-enable-primary): Fix a typo in
25397         ':version'.  (Bug#25375)
25399 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25401         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
25403         Author:
25405         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
25406         Avoid add-to-list on local variables.
25408 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
25410         Fix isearch handling of C-u C-u...
25412         * lisp/isearch.el: Add `isearch-scroll' property to
25413         universal-argument-more so that `isearch-allow-scroll' will apply to it
25414         as well.
25415         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
25416         `universal-argument-more' as well (Bug#25302).
25418 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
25420         Shorten autogen.sh script
25422         * autogen.sh: Use a shorter script, as some 'sed' implementations
25423         mishandle long scripts.
25425 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
25427         Yet another fix for autogen.sh
25429         * autogen.sh (gnulib.mk): Make the Sed script more portable.
25431         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
25432         the changes in autogen.sh.
25434 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
25436         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
25438 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
25440         Fix dependencies of nt/gnulib.mk
25442         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
25443         of nt/gnulib.mk on lib/Makefile.in.
25445 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
25447         Unbreak macOS build
25449         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
25450         Sed.
25452 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
25454         Fix term.el handling of ^Z-sequences spanning chunks
25456         Bash will after each command send ?\032 and the current directory "/tmp"
25457         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
25458         command outputs roughly 4096 bytes then the end of the first chunk will
25459         be "/tm" (Bug#13350).
25461         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
25462         end of the ?\032 sequence to use \n instead of $, the latter can match
25463         end of string as well.
25465 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
25467         Turn on lexical-binding in mb-depth.el
25469         * lisp/mb-depth.el: Turn on lexical-binding.
25470         (minibuffer-depth-setup): Bind things used multiple times.
25472 2017-01-04  Alan Third  <alan@idiocy.org>
25474         Revert "Rework NS event handling (bug#25265)"
25476         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
25478 2017-01-04  Glenn Morris  <rgm@gnu.org>
25480         Update remaining copyright years with admin.el M-x set-copyright
25482         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
25484 2017-01-04  Glenn Morris  <rgm@gnu.org>
25486         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
25488 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25490         Port recent autogen.sh changes to Darwin
25492         Problem reported by Sam Steingold (Bug#25347).
25493         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
25494         POSIX does not require it and it does not work on Darwin.
25496 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
25498         Avoid add-to-list on local variables
25500         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
25501         (nnir-retrieve-headers): Use pcase.
25502         (nnir-search-thread): Avoid add-to-list on local variables.
25504         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
25505         (smime-verify-region): Avoid add-to-list on local variables.
25507         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
25508         (rmail-digest-parse-mime, rmail-digest-rfc1153)
25509         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
25511         * lisp/net/ldap.el (ldap-search): Move init into declaration.
25513         * lisp/net/newst-backend.el (newsticker--cache-add):
25514         Avoid add-to-list on local variables; Simplify code with `assq'.
25516         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
25517         (dbus-debug): Remove declaration, unused.
25518         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
25519         (zeroconf-service-browser-handler, zeroconf-publish-service):
25520         Avoid add-to-list and *-hook on local variables.
25522         * lisp/org/org-archive.el (org-all-archive-files):
25523         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
25524         Avoid add-to-list on local variables.
25526         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
25527         (org-publish-projects): Use it to avoid run-hooks on a local variable.
25528         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
25529         local variables.
25531         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
25532         (ada-prj-load-from-file): Avoid add-to-list on local variables.
25534         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
25535         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
25536         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
25538         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
25539         Avoid add-to-list on local variables.
25541 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
25543         Turn on lexical-binding in md4.el
25545         * lisp/md4.el: Turn on lexical-binding.
25546         * test/lisp/md4-tests.el: New file.
25548 2017-01-03  Stefan Merten  <stefan@merten-home.de>
25550         Lots of refactorings and a few minor improvements.
25552         User visible improvements and changes:
25553         * Improve and debug `rst-forward-section` and `rst-backward-section`.
25554         * Auto-enumeration may be used with all styles for list insertion.
25555         * Improve and debug `rst-toc-insert`.
25556         * Adapt change in Emacs to use customization group `text` instead of `wp`.
25557         * Bind `n` and `p` in `rst-toc-mode`.
25558         * `z` in `toc-mode` returns to the previous window configuration.
25559         * Require Emacs version >= 24.1.
25561         Lots of refactorings including:
25562         * Silence byte compiler.
25563         * Use lexical binding.
25564         * Use `cl-lib`.
25565         * Add tests and raise test coverage.
25567 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
25569         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
25571         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
25572         emit a warning for those coders who forgot to put a default value in
25573         their slot.
25575 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
25577         Small patch for ffap.el
25579         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
25580         while walking 'ffap-alist'.
25582 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
25584         Generate nt/gnulib.mk from lib/gnulib.mk
25586         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
25587         with the purpose of avoiding manual maintenance of
25588         nt/gnulib.mk.
25590         * nt/gnulib-modules-to-delete.cfg: New file.
25591         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
25592         (am__v_GEN_1): New variables.
25593         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
25594         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
25596         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
25597         files to link.
25598         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
25599         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
25600         running autoreconf.
25601         * Makefile.in (gnulib_mk): New variable.
25602         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
25603         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
25604         name.
25605         * .gitignore: Add nt/gnulib.mk.
25607         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
25608         build the acl-permissions module from Gnulib.
25610 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
25612         Handle multibyte chars spanning chunks in term.el
25614         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
25615         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
25616         buffer-local twice.
25617         (term-emulate-terminal): Check for bytes of incompletely decoded
25618         characters, and save them until the next call when they can be fully
25619         decoded (Bug#25288).
25621 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
25623         Finish work on filenotify-tests.el
25625         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
25626         New variable.
25627         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
25628         (file-notify--test-read-event, file-notify-test02-events)
25629         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
25630         (file-notify-test03-autorevert)
25631         (file-notify-test08-watched-file-in-watched-dir):
25632         Set `file-notify--test-desc' for proper work of
25633         `file-notify--test-monitor'.  (Bug#21804)
25635 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
25637         Check also for "gvfs-monitor-dir.exe" in Tramp
25639         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
25640         for "gvfs-monitor-dir.exe".
25642 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
25644         Fix compilation --without-x
25646         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
25647         font_range only if it is compiled in.  (Bug#25334)
25649 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
25651         Fix RefTeX to show table of contents for dtx files (tiny change)
25653         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
25654           section regexp so that it accepts lines starting with the comment
25655           character. (tiny change)
25656         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
25657           gathered toc entries, accepting a commented entry if and only if the
25658           source file is a ".dtx" file. (tiny change)
25660 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25662         Remove mistakenly-added files
25664         Problem reported by Glenn Morris in:
25665         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
25666         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
25667         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
25668         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
25669         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
25670         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
25671         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
25672         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
25673         Remove files that were added by mistake during a merge.
25675 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
25677         Warn about incomplete untarring of link files
25679         The current tar-mode doesn't really support unpacking symlinks, it
25680         simply creates an empty file of the same name.
25682         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
25683         `tar--check-descriptor'.
25684         (tar-untar-buffer): Use it to warn about imperfectly untarred link
25685         files.
25687 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
25689         Remove sh-mode's skeleton-end-hook
25691         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
25692         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
25693         and also respects `skeleton-end-newline' (Bug#16634).
25695 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25697         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
25699 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
25701         Add term/tmux.el
25703         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
25704         with xterm and screen terminfos.  This is simply a duplication of
25705         term/screen.el with screen -> tmux.
25706         * lisp/term/tmux.el: New file.
25708 2017-01-01  Philipp Stephani  <phst@google.com>
25710         Fix encoding of JSON surrogate pairs
25712         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
25713         individual code points; cf. Bug #24784.
25715         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
25716         pairs.
25717         (json--decode-utf-16-surrogates): New defun.
25719         * test/lisp/json-tests.el (test-json-read-string): Add test for
25720         surrogate pairs.
25722 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
25724         Remove tramp-gw.el, which was synced from emacs-25 by accident
25726 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25728         Do not use Gnulib’s m4/wint_t.m4.
25730         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
25731         Fix typo so that warn-on-use.m4 is removed too.
25732         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
25733         * m4/wint_t.m4: Remove.
25735 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25737         Merge from gnulib, continued
25739         * m4/wint_t.m4: New file, copied from gnulib.
25741 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25743         Update copyright year to 2017 in master
25745         Run admin/update-copyright in the master branch.  This fixes files
25746         that were not already fixed in the emacs-25 branch before it was
25747         merged here.
25749 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25751         Remove test/automated detritus from merge
25753 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25755         Merge from gnulib
25757         This incorporates:
25758         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
25759         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
25760         2016-12-17 getlogin: Port to newer mingw
25761         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
25762         2016-12-17 Avoid redefinition errors on MSVC
25763         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
25764         * m4/stdint.m4, m4/unistd_h.m4:
25765         Copy from gnulib.
25766         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25767         Plus, this commit updates the indenting on copyright notices to
25768         match that of gnulib.
25770 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25772         Merge from origin/emacs-25
25774         2e2a806 Fix copyright years by hand
25775         5badc81 Update copyright year to 2017
25777 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25779         Merge from origin/emacs-25
25781         665be69 ; Update ChangeLog.2 and AUTHORS files
25783         # Conflicts:
25784         #       etc/AUTHORS
25786 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25788         Merge from origin/emacs-25
25790         697167b ; Improve wording of previous change in variables.texi
25791         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
25792         8b71826 Don't modify minibuffer variables globally
25793         5b5e036 Revert to pre-25.1 behavior in ffap
25794         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
25795         3ace730 Attempt to fix 64-bit AIX build
25796         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
25797         c04ac8a Document that variable binding order is unspecified
25798         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
25799         08de101 Fix M-x hints on Mac port
25800         86a297a Work around reporting a dpi change in apply_xft_settings
25801         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
25802         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
25803         88cdf14 Improve skeleton docstrings
25805 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25807         Merge from origin/emacs-25
25809         4179238 Improve documentation of 'w32-scroll-lock-modifier'
25811 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25813         Merge from origin/emacs-25
25815         9adb101 Document 'describe-fontset'
25816         229315c ; Add missing symbol quoting.
25817         3d94931 Repair desktop restoration on text terminals
25818         43022f9 Ignore forward-sexp-function in js-mode indentation code
25819         b19fb49 Improve documentation of 'define-coding-system'
25820         467768f Fix Bug#25162
25821         6db78ae Fix a typo in define-abbrev-table
25822         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
25823         442e2f6 Fixes related to select-enable-clipboard
25824         e4ac450 Define struct predicate before acccesors
25825         08decbd Doc fix for vc-git
25826         5531e75 Further improve make-dist checking
25827         953bf67 Improve previous make-dist change
25828         129645a Make make-dist --snapshot do some sanity checks
25830         # Conflicts:
25831         #       lisp/menu-bar.el
25833 2017-01-01  Alan Mackenzie  <acm@muc.de>
25835         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
25837         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
25838         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
25840         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
25841         t to (&rest def-form).
25843 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25845         Fix copyright years by hand
25847         These are dates that admin/update-copyright did not update, or
25848         updated incorrectly.
25850 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25852         Update copyright year to 2017
25854         Run admin/update-copyright.
25856 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
25858         Clarify internal_catch etc.
25860         The recent change to internal_catch and friends relied on some
25861         confusion I introduced to the code in 2013.  Attempt to fix
25862         the confusion by clarifying the code instead.  This saves an
25863         instruction and a load dependency in the typical case.
25864         * src/eval.c (internal_catch, internal_condition_case)
25865         (internal_condition_case_1, internal_condition_case_2)
25866         (internal_condition_case_n): Undo the previous change.  Instead,
25867         use use ‘c’ rather than ‘handlerlist’ in the typical case.
25868         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
25870 2016-12-31  Ken Brown  <kbrown@cornell.edu>
25872         Further improve filenotify-tests.el
25874         * test/lisp/filenotify-tests.el
25875         (file-notify--test-read-event): Adapt to file monitors of type
25876         GFamFileMonitor, which occur on Cygwin.
25877         (file-notify--test-monitor): Update doc string.
25879 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
25881         * src/xdisp.c (string_from_display_spec): Simplify.
25883 2016-12-31  Alan Third  <alan@idiocy.org>
25885         Rework NS event handling (bug#25265)
25887         * src/nsterm.m (unwind_apploopnr): Remove.
25888         (ns_read_socket): Remove references to apploopnr.  Make processing the
25889         NS event loop conditional on being in the main thread.
25890         (ns_select): Remove references to apploopnr.  Remove all fd_handler
25891         related stuff.  Check if there are events waiting on the NS event
25892         queue rather than running the event loop.  Remove unused variables and
25893         code.
25894         (fd_handler): Remove.
25895         (ns_term_init): Remove creation of fd_handler thread.
25896         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
25897         EmacsView:windowDidExpose): Remove send_appdefined.
25898         (ns_send_appdefined): Always check the event queue for
25899         applicationDefined events rather than relying on send_appdefined var.
25900         * src/nsterm.h: Remove reference to fd_handler method.
25902 2016-12-31  Philipp Stephani  <phst@google.com>
25904         Checkdoc: use syntax functions instead of regex
25906         In checkdoc.el, get rid of the error-prone regex to find definition
25907         forms, and use existing syntax-based navigation functions instead.
25908         This fixes a corner case with one-argument `defvar' forms.
25910         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
25911         (checkdoc-next-docstring, checkdoc-defun): Use it.
25912         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
25913         Add unit test.
25915 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
25917         Don't define NOMINMAX on MS-Windows
25919         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
25920         longer needed with the current sources and MinGW headers, while
25921         defining NOMINMAX causes an annoying compiler warning.
25923 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
25925         Simplify code in eval.c that calls 'setjmp'
25927         * src/eval.c (internal_catch, internal_condition_case)
25928         (internal_condition_case_1, internal_condition_case_2)
25929         (internal_condition_case_n): Factor out the common tail of the
25930         functions.
25932 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
25934         Simplify code in 'string_from_display_spec'
25936         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
25937         test before the loop.
25939 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
25941         Serialize random number generation on MS-Windows
25943         * src/w32.c (rand_as183): New function.
25944         (random): Use it instead of MS runtime's 'rand'.  This avoids
25945         producing separate and identical random series in each Lisp
25946         thread.
25947         (srandom): Modify to supply 3 seed values to 'rand_as183'.
25949 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
25951         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
25953 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25955         Don't call xg_select for a NextStep build.
25957         NextStep builds use glib but don't use xg_select.
25959         * src/process.c (wait_reading_process_output): Don't call xg_select
25960         for a NextStep build.
25962 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25964         Increase the obarray size.
25966         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
25967         the time we've started.  The old obarray size ensured an average chain
25968         length of 10 or more.
25970         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
25972 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
25974         Initialize thread support for Xlib.
25976         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
25977         before doing anything else with X.
25979 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25981         Rename primary_thread to main_thread
25983         This avoids the confusion of using two different phrases "main thread"
25984         and "primary thread" internally to mean the same thing.  See:
25985         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
25986         * src/thread.c (main_thread): Rename from primary_thread,
25987         since the new name no longer clashes with main_thread_id
25988         and Emacs internals normally call this the "main thread".
25989         (init_main_thread): Rename from init_primary_thread.
25990         (main_thread_p): Rename from primary_thread_p.
25991         All uses changed.
25993 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25995         Rename main_thread to main_thread_id and simplify
25997         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
25998         [HAVE_PTHREAD]: Do not include pthread.h.
25999         (main_thread): Remove.  All uses replaced by main_thread_id,
26000         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
26001         the main_thread_id established by sysdep.c, there is no need for a
26002         separate copy of the main thread ID here.
26003         (module_init): Remove.  All uses removed.
26004         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
26005         Rename from main_thread.  All uses changed.  Now extern.
26007 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
26009         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
26011 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26013         * src/sysdep.c (deliver_process_signal): Improve comment.
26015 2016-12-30  Alan Mackenzie  <acm@muc.de>
26017         CC Mode: Fix the fontification of a spuriously recognized enum member.
26019         The "enum" was in an argument list, but triggered the fontification of a
26020         following identifier in the function block as though it were in an enum
26021         declaration.
26023         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
26024         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
26025         call to c-font-lock-enum-body.
26027         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
26028         variable.
26030 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
26032         Bump Emacs version to 25.1.91
26034         * README:
26035         * configure.ac:
26036         * msdos/sed2v2.inp:
26037         * nt/README.W32: Bump Emacs version.
26038         * lisp/ldefs-boot.el: Update.
26040 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
26042         Attempt to fix crashes with threads in GTK builds
26044         * src/xgselect.c (xg_select): Call pselect via thread_select, not
26045         directly, to avoid running Lisp (via unblock_input) when more than
26046         one thread could be running.  (Bug#25247)
26047         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
26048         xg_select directly instead of through thread_select.
26049         * src/xgselect.h (xg_select): Last 2 arguments are no longer
26050         'const', for consistency with thread_select.
26052 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
26054         Add entry for biblatex
26056         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
26057         entry for biblatex macros.
26059 2016-12-30  Alan Mackenzie  <acm@muc.de>
26061         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
26063         The ambiguity was whether INITVALUE is evaluated when it's not going to be
26064         used to set SYMBOL's value.
26066         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
26068         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
26070 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
26072         ffap-string-at-point: Limit max length of active region
26074         Prevents that 'ffap-guesser' waste time checking large strings
26075         which are likely not valid candidates (Bug#25243).
26076         * lisp/ffap.el (ffap-max-region-length): New variable.
26077         (ffap-string-at-point): Use it.
26078         * test/lisp/ffap-tests.el: New test suite.
26079         (ffap-tests-25243): Add test for this bug.
26081 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
26083         last-chance: Also ignore NEWS files + typo fixes
26085         * admin/last-chance.el: Fix typo in copyright notice.
26086         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
26087         (last-chance-cleanup): Fix typo in docstring.
26089 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
26091         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
26093 2016-12-29  Alan Mackenzie  <acm@muc.de>
26095         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
26097         The ambiguity was whether INITVALUE is evaluated when it's not going to be
26098         used to set SYMBOL's value.
26100         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
26102 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
26104         Improve filenotify-tests.el
26106         * src/inotify.c (Finotify_valid_p):
26107         * src/kqueue.c (Fkqueue_valid_p):
26108         * src/w32notify.c (Fw32notify_valid_p):
26109         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
26110         (Fgfile_monitor_name): New defun.
26111         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
26113         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
26114         New defun, derived from `file-notify--test-read-event-timeout'.
26115         Replace all calls of `read-event' by this.
26116         (file-notify--test-timeout): Fix docstring.
26117         (file-notify--test-monitor): New defun.
26118         (file-notify--deftest-remote): Do not bind
26119         `file-notify--test-read-event-timeout' anymore.
26120         (file-notify-test00-availability): Print also monitor, if existent.
26121         (file-notify--test-with-events): Add an additional
26122         `file-notify--test-read-event' call, in order to get it work
26123         after `file-notify-add-watch'.  Remove special timeout for cygwin.
26124         (file-notify-test02-events): Make a better check for cygwin.
26125         (file-notify-test06-many-events): Improve event list for cygwin.
26126         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
26128 2016-12-29  Alan Mackenzie  <acm@muc.de>
26130         Partially correct fontification of "(b*3)", and the like, in C++ Mode
26132         This problem is caused by the fundamental ambiguity in C++ between
26133         argument declarations and initialization clauses.
26135         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
26136         paren preceded by an arithmetic operator, we give this the context nil, not
26137         'arglist.
26139         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
26140         New lang consts and vars.
26142 2016-12-29  Alan Mackenzie  <acm@muc.de>
26144         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
26146         This is because there are times when this variable is changed by setcar before
26147         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
26148         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
26150         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
26152 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
26154         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
26156         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
26157         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
26159 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
26161         Release Tramp 2.3.1
26163         * doc/misc/trampver.texi:
26164         * lisp/net/trampver.el: Change version to "2.3.1".
26166         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
26167         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
26169         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
26170         (tramp-compat-file-name-quote)
26171         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
26173 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26175         Simplify prog1 implementation
26177         Inspired by a suggestion from Chris Gregory in:
26178         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
26179         On my platform, this generates exactly the same machine insns.
26180         * src/eval.c (prog_ignore): Rename from unwind_body, since
26181         it’s more general than that.  All callers changed.
26182         (Fprog1): Simplify by using prog_ignore.
26183         (Fwhile): Clarify by using prog_ignore.
26185 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26187         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
26189         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
26191 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
26193         Remove a use of lexical-let
26195         * lisp/gnus/message.el (message-completion-function): Just use let,
26196         since the file now uses lexical-binding.
26198 2016-12-27  Ken Brown  <kbrown@cornell.edu>
26200         Improve filenotify-tests.el on Cygwin (Bug #21804)
26202         * test/lisp/filenotify-tests.el [CYGWIN]
26203         (file-notify--test-read-event-timeout): Increase.
26204         (file-notify--test-with-events): Add delay before executing body.
26205         (file-notify-test02-events, file-notify-test04-file-validity):
26206         Adjust expected results.
26208 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
26210         Fix expand-file-name on DOS_NT systems when /: escaping is used
26212         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
26213         file names escaped by "/:".  Don't recursively expand
26214         default-directory escaped with "/:" which is not followed by a
26215         drive spec.  (Bug#25183)
26217 2016-12-27  Bake Timmons  <65pandas@gmail.com>
26219         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
26221         * doc/misc/gnus.texi (Mail Source Specifiers):
26222         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
26223         the correct `((group))' value.  (bug#25275) (tiny change)
26225 2016-12-27  Bake Timmons  <65pandas@gmail.com>
26227         Fix bug in customizing `mail-sources' variable (bug#25274)
26229         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
26230         for lone argument. (bug#25274) (tiny change)
26232 2016-12-26  Philipp Stephani  <phst@google.com>
26234         Checkdoc: Don't require a space before an arg list
26236         See Bug#24998.
26238         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
26239         space before a argument list.
26240         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
26241         Add unit test.
26243 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
26245         Document 'default-toplevel-value' and 'set-default-toplevel-value'
26247         * doc/lispref/variables.texi (Default Value): Document
26248         'default-toplevel-value' and 'set-default-toplevel-value'.
26250 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
26252         Add zshrc and zshenv detection to sh-mode (bug#25217)
26254         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
26256 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26258         Fix typo in lisp.h reordering patch
26260         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
26261         Reported by Eli Zaretskii (Bug#25128#19).
26263 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26265         regex.h now includes sys/types.h
26267         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
26268         Do not include sys/types.h; no longer needed.
26269         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
26270         glibc regex.h does, and POSIX has blessed this since 2008.
26272 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26274         Reorder lisp.h to declare types before using them
26276         This puts basic functions for types to be after the corresponding
26277         type definitions.  This is a more-common programming style in C,
26278         and will make it easier to port Emacs to gcc
26279         -fcheck-pointer-bounds, since the functions now have access to the
26280         corresponding types' sizes.  This patch does not change the code;
26281         it just moves declarations and definitions and removes
26282         no-longer-needed forward declarations (Bug#25128).
26283         * src/buffer.c, src/data.c, src/image.c:
26284         Include process.h, for PROCESSP.
26285         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
26286         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
26287         * src/termhooks.h (TERMINALP, XTERMINAL):
26288         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
26289         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
26290         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
26291         Move here from lisp.h.
26292         * src/intervals.h: Include buffer.h, for BUFFERP.
26293         Include lisp.h, for Lisp_Object.
26294         * src/lisp.h: Reorder declarations and definitions as described
26295         above.  Move thread includes to be later, so that they can use the
26296         reordered definitions.  Move some symbols to other headers (noted
26297         elsewhere).  Remove forward decls that are no longer needed.
26298         * src/thread.h: Include systhread.h here, not in lisp.h,
26299         since lisp.h itself does not need systhread.h.
26301 2016-12-25  Leo Liu  <sdl.web@gmail.com>
26303         Don't modify minibuffer variables globally
26305         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
26307 2016-12-25  Dima Kogan  <dima@secretsauce.net>
26309         diff-mode auto-refines only after a successful motion
26311         Prior to this patch (if enabled) auto-refinement would kick in after all
26312         hunk navigation commands, even if the motion failed.  This would result
26313         in a situation where the hunk navigation would signal an error and beep,
26314         but yet still accomplish potentially useful work, by auto-refining.
26315         This patch moves the auto-refinement code to only run when a motion was
26316         successful
26318         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
26319           diff--internal-hunk-prev): Removed auto-refinement-triggering code
26320         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
26321           auto-refinement-triggering code
26323 2016-12-25  Dima Kogan  <dima@secretsauce.net>
26325         diff-mode is able to better handle file headers
26327         This fixes a regression introduced in
26329           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
26331         This bug was filed in
26333           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
26335         Patches generated from a VCS such as git contain a patch message at the
26336         start, and diff-mode is now once-again able to properly able to ignore
26337         this message when issuing navigation commands around the message.
26339         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
26340           thoroughly ignore the header when looking for a beginning of file
26341           diffs.
26343 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26345         Use libpng-config --ldflags, not --libs
26347         Problem reported by James K. Lowden (Bug#25268).
26348         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
26350 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
26352         Revert to pre-25.1 behavior in ffap
26354         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
26355         the same behavior as in Emacs 24.x.  (Bug#25264)
26356         Explain the trade-offs of customizing this in the doc string.
26358 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
26360         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
26362 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
26364         Remove redundant `save-match-data' in whitespace.el
26366         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
26367         (whitespace-report-region): Remove redundant `save-match-data' calls.
26369 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
26371         Fix whitespace eob cleanup
26373         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
26374         of empty lines at end of buffer.
26375         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
26376         (whitespace-tests--cleanup-string): New helper function for tests.
26378 2016-12-24  Hong Xu  <hong@topbug.net>
26380         Fix timezone detection of parse-iso8601-time-string
26382         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
26383         parsing.  Add a doc string.  (Bug#25086)
26384         * src/editfns.c (Fdecode-time): Doc fix.
26385         * doc/misc/emacs-mime.texi (time-date): Add an example for
26386         parse-iso8601-time-string.
26387         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
26388         tests for parse-iso8601-time-string.
26390 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26392         Simplify exec_byte_code via moving decls etc.
26394         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
26395         initializers into decls, and by omitting some unnecessary changes
26396         to ‘top’.
26398 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26400         Remove interpreter’s byte stack
26402         This improves performance overall on my benchmark on x86-64,
26403         since the interpreted program-counter resides in a machine
26404         register rather than in RAM.
26405         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
26406         is no longer a byte stack to decode.
26407         * src/bytecode.c (struct byte_stack, byte_stack_list)
26408         (relocate_byte_stack): Remove.  All uses removed.
26409         (FETCH): Simplify now that pc is now local (typically, in a
26410         register) and no longer needs to be relocated.
26411         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
26412         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
26413         (exec_byte_code): Allocate a copy of the function’s bytecode,
26414         so that there is no problem if GC moves it.
26415         * src/lisp.h (struct handler): Remove byte_stack member.
26416         All uses removed.
26417         * src/thread.c (unmark_threads): Remove.  All uses removed.
26418         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
26419         All uses removed.  m_stack_bottom is now the first non-Lisp field.
26421 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26423         BYTE_CODE_SAFE typo fix
26425         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
26426         not on whether it is defined.
26428 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26430         BYTE_CODE_SAFE cleanups
26432         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
26433         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
26434         Remove unused members ‘top’ and ‘bottom’.
26435         (exec_byte_code): Nest inside { } to avoid GCC warning about
26436         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
26438 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
26440         last-chance: new utility lib for dangling deterrence
26442         * admin/last-chance.el: New file.
26444 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
26446         Use max_align_t instead of void *
26448         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
26450 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
26452         Attempt to fix 64-bit AIX build
26454         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
26455         type-casts that assumed 32-bit pointers.  (Bug#25141)
26457 2016-12-23  Philipp Stephani  <phst@google.com>
26459         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
26461         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
26463 2016-12-23  Philipp Stephani  <phst@google.com>
26465         Document that variable binding order is unspecified
26467         * doc/lispref/variables.texi (Local Variables):
26468         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
26469         'cl-letf' is unspecified.
26471 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
26473         Prevent infloops in redisplay due to truncate-lines and overlays
26475         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
26476         redisplay_window when a screen line ends in an overlay string with
26477         a newline.  (Bug#25246)
26479 2016-12-23  Philipp Stephani  <phst@google.com>
26481         Treat incomplete integer literals as errors
26483         See Bug#25120.
26485         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
26486         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
26487         incomplete integer literals.
26489 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
26491         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
26493 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
26495         Fix M-x hints on Mac port
26497         * lisp/simple.el (execute-extended-command--shorter): Call
26498         input-pending-p to trigger input processing on some systems, such
26499         as Mac port.  (Bug#23002)
26501 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
26503         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
26505 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
26507         Avoid aborts due to unaligned byte stack of threads
26509         * src/thread.c (run_thread): Make sure the pointers to thread byte
26510         stack are properly aligned.  (Bug#25247)
26512 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26514         Pacify --enable-gcc-warnings
26516         * src/charset.c (load_charset_map):
26517         * src/coding.c (decode_coding_object):
26518         * src/frame.c (make_frame):
26519         * src/window.c (Frecenter):
26520         Mark locals with UNINIT to silence false alarms from
26521         -Wmaybe-uninitialized.
26522         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
26523         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
26524         Check and assume that values are nonnull.  This pacifies
26525         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
26526         Fmake_local_variable.
26528 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
26530         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
26532         * src/thread.c (primary_thread_p): New function.
26533         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
26534         meant for thread objects allocated dynamically.
26535         * src/thread.h (primary_thread_p): Add prototype.
26537 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
26539         Work around reporting a dpi change in apply_xft_settings
26541         * src/xsettings.c (apply_xft_settings): Don't report a change
26542         when dpi settings do not differ substantially.
26544 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
26546         Use completion-at-point in verilog-mode
26548         There were some functions in verilog-mode that implemented in-buffer
26549         completion, but this needlessly duplicates completion-at-point
26550         functionality, and the popup window management had problems
26551         (see Bug #23842).  We need to keep them for backwards compatibility with
26552         older emacs versions, but use completion-at-point if available.
26554         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
26555         obsolete if completion-cycle-threshold is available.
26556         (verilog-mode-map, verilog-menu): Bind completion-at-point and
26557         completion-help-at-point in preference to verilog-complete-word and
26558         verilog-show-completions, respectively.
26559         (verilog-mode): Add verilog-completion-at-point to
26560         completion-at-point-functions.
26561         (verilog-completion-at-point): New function.
26562         (verilog-show-completions, verilog-complete-word): Use it to avoid code
26563         duplication.
26565 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
26567         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
26569         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
26570         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
26571         retain their hardwired values, and all other dictionaries are given
26572         sensible defaults.
26574 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26576         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
26577         and xetex commands.
26579 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
26581         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
26583         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
26584         for thread objects.  They are marked via the all_threads list, and
26585         therefore don't need to be inserted into the red-black tree, so
26586         mem_find will never find them.  Reported by Daniel Colascione
26587         <dancol@dancol.org> in
26588         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
26590 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26592         * src/data.c (Fmake_variable_frame_local): Remove
26594         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
26596         * src/data.c (swap_in_symval_forwarding, set_internal)
26597         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
26598         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
26599         Don't pay attention to ->frame_local any more.
26600         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
26601         Smake_variable_frame_local.
26603         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
26604         of make-variable-frame-local.
26606         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
26607         frame-local case.
26609         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
26611         * src/frame.c (store_frame_param):
26612         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
26614         * src/widget.c (first_frame_p): Remove, unused.
26616 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26618         Port dumping better to WSL
26620         Problem reported by Angelo Graziosi in:
26621         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
26622         * src/sysdep.c (disable_address_randomization):
26623         Detect buggy platforms where 'personality' always returns 0.
26625 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
26627         Remove gateway methods in Tramp
26629         * doc/misc/tramp.texi (Top, Configuration): Remove section
26630         `Gateway methods', insert section `Firewalls' in menu.
26631         (History): Gateways are removed now.
26632         (Gateway methods): Remove section.
26633         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
26634         (Firewalls): New section.
26636         * etc/NEWS: Gateway methods in Tramp have been removed.
26638         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
26639         (tramp-file-name-port, tramp-accept-process-output): Simplify.
26641         * lisp/net/tramp-gw.el: Remove.
26643         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
26644         (tramp-gw-socks-method): Remove declarations.
26645         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
26646         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
26647         (tramp-do-copy-or-rename-file-out-of-band)
26648         (tramp-compute-multi-hops, tramp-maybe-open-connection):
26649         Remove gateway support.
26651         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
26652         Remove gateway tests.
26654 2016-12-20  Alan Mackenzie  <acm@muc.de>
26656         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
26658         lisp/progmodes/cc-defs.el: Amend the version number.
26659         etc/NEWS: Add an item explaining the change.
26661 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
26663         files-test-read-file-in-: Delete temporary dir on exit
26665         * test/lisp/files-tests.el (files-test-read-file-in-~):
26666         Create subdir inside dir.
26668 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
26670         ibuffer: New filters and commands
26672         Add several new filters and improve documentation.
26673         See discussion on:
26674         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
26675         * lisp/ibuf-ext.el: Add paragraph to file commentary.
26676         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
26677         (ibuffer-filter-groups): Update doc string.
26678         (ibuffer-unary-operand): Add new function that transparently
26679         handles 'not' formats for compound filters.
26680         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
26681         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
26682         (ibuffer-decompose-filter): Handle 'and' as well,
26683         and handle 'not' consistently with other uses.
26684         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
26685         (ibuffer--or-and-filter): New defun.
26686         (ibuffer-or-filter, ibuffer-and-filter): Use it.
26687         (ibuffer-format-qualifier): Handle 'and' filters as well.
26688         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
26689         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
26690         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
26691         Add new pre-defined filters.
26692         (ibuffer-filter-chosen-by-completion): Add new interactive command
26693         for easily choosing a filter from the descriptions.
26694         * lisp/ibuffer.el (ibuffer-mode-map):
26695         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
26696         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
26697         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
26698         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
26699         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
26700         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
26701         and '/ DEL' respectively.
26702         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
26703         skip specification.
26704         Add menu entries for the new filters.
26705         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
26706         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
26707         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
26708         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
26709         ibuffer-decompose-filter, ibuffer-and-filter
26710         ibuffer-or-filter): Add new tests; they are skipped unless
26711         ibuf-ext is loaded.
26713 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26715         Update NEWS
26717         * etc/NEWS (Image-Dired): New section.
26719 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26721         Recognize graphicsmagick in image-dired
26723         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
26724         (image-dired-cmd-create-thumbnail-options):
26725         (image-dired-cmd-create-temp-image-program):
26726         (image-dired-cmd-create-temp-image-options):
26727         (image-dired-cmd-create-standard-thumbnail-options):
26728         (image-dired-cmd-rotate-thumbnail-program):
26729         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
26730         gm(1) executable.
26732 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
26734         Improve skeleton docstrings
26736         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
26737         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
26738         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
26739         `skeleton-end-hook' above the explanation of skeleton syntax.
26741 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
26743         Implement asynchronous thumbnail generation in image-dired
26745         Additionally, all FOO-options defcustoms that were in fact shell command
26746         strings have been converted to argument lists.  Another method for
26747         shrinking PNG thumbs with optipng(1) has been added.
26748         * lisp/image-dired.el: Remove TODO item in commentary.
26749         (image-dired-cmd-create-thumbnail-options):
26750         (image-dired-cmd-create-temp-image-options):
26751         (image-dired-cmd-rotate-thumbnail-options):
26752         (image-dired-cmd-rotate-original-options):
26753         (image-dired-cmd-write-exif-data-options):
26754         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
26755         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
26756         Change string type to file.
26757         (image-dired-cmd-create-standard-thumbnail-command): Remove.
26758         (image-dired-cmd-pngnq-options):
26759         (image-dired-cmd-create-standard-thumbnail-options):
26760         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
26761         New defcustoms.
26762         (image-dired-queue, image-dired-queue-active-jobs):
26763         (image-dired-queue-active-limit): New variables.
26764         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
26765         (image-dired-optipng-thumb): New functions.
26766         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
26767         Use start-process instead of call-process.  Set file modes.  Trigger
26768         PNG file optimization in process sentinel.
26769         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
26770         (image-dired-display-thumbs):
26771         (image-dired-create-thumbs): Don't expect call-process return value.
26772         (image-dired-display-image, image-dired-rotate-thumbnail): Use
26773         start-process instead of call-process.
26774         (image-dired-rotate-original, image-dired-set-exif-data):
26775         (image-dired-get-exif-data): Adapt to arguments being an arg list.
26777 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
26779         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
26781         * src/indent.c (restore_window_buffer): New function.
26782         (Fvertical_motion): Use it to restore window's buffer.
26784 2016-12-19  Glenn Morris  <rgm@gnu.org>
26786         Improve default load-path for uninstalled CANNOT_DUMP builds
26788         * src/lread.c (load_path_default) [CANNOT_DUMP]:
26789         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
26790         I think this became an issue several years ago when we stopped
26791         using EMACSLOADPATH in the Makefiles; however this change should
26792         improve the CANNOT_DUMP uninstalled case in general.
26794 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26796         Improve documentation of 'w32-scroll-lock-modifier'
26798         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
26799         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
26801         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
26802         fix.  (Bug#25204)
26804 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26806         Document 'describe-fontset'
26808         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26809         (Bug#25216)
26811 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26813         Document 'describe-fontset'
26815         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26816         (Bug#25216)
26818 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
26820         Fix crashes upon C-g on Posix TTY frames
26822         * src/thread.h (struct thread_state): New member not_holding_lock.
26823         (maybe_reacquire_global_lock): Add prototype.
26824         * src/thread.c: Include syssignal.h.
26825         (maybe_reacquire_global_lock): New function.
26826         (really_call_select): Set the not_holding_lock member of the
26827         thread state before releasing the lock, and rest it after
26828         re-acquiring the lock when the select function returns.  Block
26829         SIGINT while doing this to make sure we are not interrupted on TTY
26830         frames.
26831         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
26832         functions.
26833         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
26834         Add prototypes.
26835         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
26836         maybe_reacquire_global_lock.  (Bug#25178)
26838 2016-12-19  Sam Steingold  <sds@gnu.org>
26840         avoid Eager macro-expansion failure: (void-function string-to-list)
26842         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
26843           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
26844           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
26846 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
26848         Fix Bug#24980
26850         * lisp/ido.el (ido-add-virtual-buffers-to-list):
26851         Suppress Tramp invocation.  (Bug#24980)
26853 2016-12-18  Philipp Stephani  <phst@google.com>
26855         Add a new compile error regexp for Clang includes
26857         Clang uses a slight variation of GCC's include format, causing includes
26858         to be treated as warnings instead of informational messages.  Use a new
26859         regular expression instead.
26861         * lisp/progmodes/compile.el
26862         (compilation-error-regexp-alist-alist): New element
26863         `clang-include' for Clang-style "included from" lines.
26864         * test/lisp/progmodes/compile-tests.el
26865         (compile-tests--test-regexps-data): Add unit test.
26867 2016-12-18  Alan Third  <alan@idiocy.org>
26869         Reinstate ispell character offset (bug#25219)
26871         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
26872         ispell-offset used to be.
26874 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
26876         Bind new image-mode scroll commands in image-dired
26878         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
26879         to new image-mode commands.
26881 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
26883         Fix rx-any with range with ?\] and ?-
26885         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
26886         list (Bug#25123).
26887         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
26889 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
26891         Use floor of mtime instead of rounding for thumb property
26893         This seems to be the correct thing to do, at least more in line with
26894         what at least one other implementation does.  Anything using
26895         gnome-desktop [0] effectively does the same, as
26896         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
26897         comparison and time_t on GNU/Linux is a signed int.
26898         [0] https://git.gnome.org/browse/gnome-desktop/
26899         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
26901 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
26903         Fix spelling mistake in private defun name (Bug#25218)
26905         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
26906         `flyspell-adjust-cursor-point'.
26908 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
26910         Remove XEmacs support from flyspell.el (Bug#25218)
26912         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
26913         (flyspell-word, flyspell-delete-region-overlays):
26914         (flyspell-correct-word-before-point): Remove XEmacs support.
26915         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
26917 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
26919         More tests for Tramp
26921         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
26922         file names.
26924         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
26925         name properly.
26927         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
26928         Mark quoted file name as absolute.  (Bug#25183)
26929         (tramp--test-windows-nt-and-batch)
26930         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
26931         (tramp--test-windows-nt-or-smb-p): Rename from
26932         `tramp--test-smb-windows-nt-p'.  Adapt callees.
26933         (tramp--test-check-files): Improve checks for environment variables.
26934         (tramp-test33-special-characters)
26935         (tramp-test33-special-characters-with-stat)
26936         (tramp-test33-special-characters-with-perl)
26937         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
26938         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
26939         (tramp-test34-utf8-with-ls): Add more checks for skip.
26941 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26943         Fix comments
26945         * src/thread.h (struct thread_state): Fix comments.
26946         * src/process.c (wait_reading_process_output): Fix a typo in
26947         commentary.
26949 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26951         Repair desktop restoration on text terminals
26953         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
26954         frame here, instead of in desktop-restoring-frameset.  That's
26955         because desktop-read wants to know whether frameset will actually
26956         be restored, and has fallback procedures up its sleeve when it
26957         won't be; these fallbacks need to be invoked when the frameset is
26958         not going to be restored.  (Bug#24298)
26960 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
26962         Fix crashes on MS-Windows during dumping
26964         * src/unexw32.c (get_section_info): Make extra_bss_size be the
26965         maximum of extra_bss_size and extra_bss_size_static.  This avoids
26966         computing the size of the output file smaller than it actually
26967         needs to be, which then causes copy_executable_and_dump_data to
26968         write beyond the requested size of the file mapping, thus relying
26969         on the OS roundup to page boundary to save us from ourselves.  See
26970         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
26971         for the details.
26973         * lib/stdio-impl.h: Revert the workaround fix of not including
26974         errno.h for MinGW.
26976 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
26978         Ignore forward-sexp-function in js-mode indentation code
26980         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
26981         (js--maybe-goto-declaration-keyword-end):
26982         Bind forward-sexp-function to nil (bug#25215).
26984 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
26986         Be more selective clearing the image cache
26988         * lisp/image-dired.el (image-dired-create-thumbs):
26989         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
26990         the current thumbnail file from the image cache.
26992 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
26994         Unbreak the MinGW build
26996         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
26997         this, temacs crashes while dumping.
26999 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
27001         Make seq-into return the sequence when no conversion needed
27003         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
27004           no conversion is needed.
27005         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
27006           a regression test checking for identity.
27008 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
27010         Improve documentation of 'define-coding-system'
27012         * lisp/international/mule.el (define-coding-system): Warn against
27013         possible infinite recursion in pre-write-conversion and
27014         post-read-conversion functions.  (Bug#25203)
27016 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
27018         New commands image-scroll-left and image-scroll-right
27020         * etc/NEWS: Mention them.
27021         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
27022         functions.
27024 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
27026         More image-dired refactoring
27028         * lisp/image-dired.el (image-dired-thumbnail-mode):
27029         (image-dired-display-image-mode): Add :group 'image-dired so
27030         customize-mode works.
27031         (image-dired-display-image): Rearrange.
27032         (image-dired-copy-with-exif-file-name): This map is for side effect.
27033         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
27035 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
27037         * lisp/image-dired.el: Turn on lexical-binding.
27039 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
27041         Teach image-dired to also generate large thumbs
27043         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
27044         standard-large option.
27045         (image-dired-thumb-size): Add condition for standard-large storage.
27046         (image-dired-insert-thumbnail): Check for new option.  Change
27047         thumbnail path conditionally.
27048         (image-dired-thumb-size): New function.
27049         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
27051 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27053         Merge from gnulib
27055         This incorporates:
27056         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
27057         2016-12-12 fpending: port to native Windows with MSVC
27058         * .gitignore: Do not ignore lib/stdio-impl.h.
27059         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
27060         Copy from gnulib.
27061         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27062         * lib/stdio-impl.h:
27063         New file, copied from gnulib.
27064         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
27066 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27068         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
27069         Append newline.
27071 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
27073         Don't abuse princ and spam messages
27075         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
27076         (image-dired-display-thumb-properties):
27077         (image-dired-dired-display-properties): Nix princ.  Bind
27078         message-log-max to nil.
27080 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
27082         Inherit things from special-mode and image-mode
27084         * lisp/image-dired.el: Require image-mode library.
27085         (image-dired-thumbnail-mode-map): Remove superfluous binding.
27086         (image-dired-display-image-mode-map): Remove superfluous binding.
27087         Add movement remaps from image-mode-map.
27088         (image-dired-thumbnail-mode): Derive from special-mode.
27089         (image-dired-display-image-mode): Derive from special-mode. Call
27090         image-mode-setup-winprops.
27092 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
27094         Fix some image-dired customization types
27096         * lisp/image-dired.el (image-dired): Add info link to defgroup.
27097         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
27098         (image-dired-db-file, image-dired-temp-image-file):
27099         (image-dired-cmd-create-thumbnail-program):
27100         (image-dired-cmd-create-temp-image-program):
27101         (image-dired-cmd-rotate-thumbnail-program):
27102         (image-dired-cmd-rotate-original-program):
27103         (image-dired-temp-rotate-image-file):
27104         (image-dired-cmd-write-exif-data-program):
27105         (image-dired-cmd-read-exif-data-program): Set type to file.
27106         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
27107         type at runtime, since setting image-dired-thumb-size does not
27108         automatically set image-dired-thumb-width and image-dired-thumb-height.
27110 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
27112         Prevent crashes in xg_select due to concurrency
27114         * src/xgselect.c (xg_select): Don't call Glib functions that use
27115         'context' if we failed to acquire it.  This means some other
27116         thread owns the context, in which case both using the context and
27117         calling block_input/unblock_input will step on that thread's toes
27118         and eventually lead to crashes.  (Bug#25172)
27120 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
27122         Fix circular list handling in seq-mapn
27124         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
27125         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
27126           Add a regression test.
27128 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
27130         Check in tramp-tests.el, that environment variables are set correctly
27132         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
27133         Check also, that environment variables are set correctly.
27135 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
27137         Protect environment variables with double quotes in Tramp
27139         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
27140         Protect environment variables with double quotes.
27142 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
27144         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
27146 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
27148         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
27150 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
27152         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
27154 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
27156         Recognize pngnq or pngnq-s9
27158         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
27159         pngnq-s9 as a possible executable.
27161 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
27163         Update standard image-dired thumbnail location
27165         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
27166         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
27168 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
27170         Reset window scroll when displaying an image
27172         When viewing a large image full size and scrolling, for instance, to
27173         the lower right corner, then selecting a much smaller image in the
27174         thumbnail buffer, the window stays scrolled so the new image is out of
27175         the window.  One must scroll back to the "origin" to view the new
27176         displayed image, or just kill the image-dired-display-image buffer and
27177         try again.  This fixes the issue.
27178         * lisp/image-dired.el (image-dired-display-window-width):
27179         (image-dired-display-window-height): Operate on a window as argument.
27180         (image-dired-display-image): Bind (image-dired-display-window) and use
27181         it. Set window vscroll and hscroll to zero when refreshing the
27182         buffer's contents.
27184 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
27186         More image-dired polish
27188         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
27189         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
27190         undo list. Add image-dired-file-name-at-point to
27191         file-name-at-point-functions to facilitate find-file and friends.
27192         (image-dired-thumbnail-display-external):
27193         (image-dired-dired-display-external): Use start-process instead, to
27194         avoid needlessly blocking and using a shell.
27196 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
27198         Replace ldefs-boot with a much smaller file
27200          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
27201            (bootstrap): Depend on bootstrap-build.
27202          * admin/ldefs-clean.el: New file.
27203          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
27204          * lisp/ldefs-boot.el: Remove.
27205          * lisp/ldefs-boot-auto.el: New file.
27206          * lisp/ldefs-boot-manual.el: New file.
27207          * lisp/loadup.el: Load ldefs-boot-manual.el.
27208          * src/emacs.c (generating_ldefs_boot): New variable.
27209            (main): Check whether we are generating ldefs.
27210          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
27211            requested.
27212          * src/lisp.h (generating_ldefs_boot): New variable.
27213          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
27214            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
27215            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
27216            ldefs-boot.
27217          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
27219 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27221         Remove support for aspell < 0.60 (from 2004)
27223         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
27224         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
27226 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27228         Minor docstring and comment fixes to ispell.el
27230         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
27231         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
27232         (ispell-set-spellchecker-params): Change double-single quotes to
27233         single single quotes in comment.
27235 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27237         Remove unused variable
27239         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
27241 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27243         Remove XEmacs-specific ispell-with-no-warnings
27245         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
27246         defmacro, needed only for XEmacs.
27247         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
27249 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27251         Remove meaningless defconst ispell-version
27253         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
27254         firmly part of Emacs, and the version hasn’t changed since 2003, and
27255         isn’t used anywhere, remove it.  3rd-party code can better use the
27256         Emacs version, or feature or function checks.
27257         (ispell-check-version): No longer report ispell.el version.
27259 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27261         Remove boundp test for always-bound symbol
27263         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
27264         defvar’d at the top of the file, so remove a test to see if it is
27265         bound.
27267 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27269         Remove support for ispell < 3.1.12
27271         * lisp/textmodes/ispell.el (ispell-offset): Remove.
27272         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
27273         (ispell-process-line): No longer use ispell-offset.
27275 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27277         Remove unused constant
27279         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
27281 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27283         Remove support for old versions of supercite and GNUS from ispell.el
27285         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
27286         and GNUS >= 5.  Not exactly the bleeding edge!
27288 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27290         Remove remaining mentions of XEmacs from ispell.el
27292         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
27293         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
27294         comments.
27296 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27298         Remove XEmacs-specific minibuffer handling code from ispell.el
27300         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
27301         XEmacs.
27303 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27305         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
27307         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
27308         XEmacs-specific code.
27310 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27312         Remove XEmacs-specific code dealing with enable-multibyte-characters
27314         * lisp/textmodes/ispell.el (ispell-decode-string):
27315         (ispell-init-process):  Remove XEmacs-specific guard.
27317 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27319         Remove XEmacs-specific code from ispell.el
27321         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
27322         (ispell-menu-map-needed): Remove XEmacs-specific check.
27323         (ispell-word): Remove XEmacs-specific extent code.
27324         (ispell-init-process): Remove XEmacs workaround for local add-hook.
27325         Assume we have set-process-query-on-exit-flag.
27326         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
27327         workaround for called-interactively-p.
27329 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27331         Remove some commented-out code
27333         lisp/textmodes/ispell.el (ispell-process)
27334         ispell-valid-dictionary-list): Remove commented-out code.
27336 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27338         Remove XEmacs and old Emacs highlighting code
27340         * lisp/textmodes/ispell.el
27341         (ispell-highlight-spelling-error-xemacs): Remove.
27342         (ispell-highlight-spelling-error): Assume display-color-p exists.
27344 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27346         Assume Emacs supports [:alpha:] in regexps
27348         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
27349         (ispell-set-spellchecker-params): Remove tests of
27350         ispell-emacs-alpha-regexp.
27352 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27354         Remove some XEmacs-specific code from ispell.el
27356         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
27357         (ispell-int-char): Remove.
27359 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27361         Generalize over-specific documentation
27363         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
27364         document precise personal wordlist filenames for only two supported
27365         spelling checkers, simply say that the default personal dictionary
27366         depends on the chosen spelling checker.  The user can check the
27367         spelling checker’s documentation if necessary.  This is simpler, and
27368         works for other supported (and future, or unknown) spelling checkers.
27370 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27372         Remove tests for built-in functions
27374         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
27375         back-up definition.
27376         (ispell-add-per-file-word-list): Remove tests for comment-padright and
27377         comment-normalize-vars.
27379 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27381         Remove unused ispell-looking-back
27383         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
27385 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27387         Assume we have version<= for checking ispell version
27389         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
27390         (ispell-check-version): Use version<= directly.
27392 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
27394         Remove ispell.el pre-GNU Emacs comments
27396         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
27397           details, as Emacs version, bug report address and so forth should be
27398           used instead for this version.  Remove in-line change history; use
27399           git instead.
27401 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
27403         More small fixes for image-dired
27405         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
27406         node.
27407         (image-dired--with-db-file): Add declare forms.
27408         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
27409         run through the whole list.
27411 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
27413         Remove image-dired-kill-buffer-and-window
27415         This breaks window layout, especially when quitting a
27416         image-dired-display-image-mode buffer.
27417         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
27418         (image-dired-display-image-mode-map): Replace in keymap and menu items
27419         bindings to image-dired-kill-buffer-and-window with quit-window.
27420         (image-dired-kill-buffer-and-window): Remove.
27422 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
27424         Replace image-dired-setup-dired-keybindings with a minor mode
27426         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
27427         remove mention of nonexistent image-dired-dired and to refer to the
27428         new minor mode.
27429         (image-dired-minor-mode-map): New keymap assimilated from
27430         image-dired-setup-dired-keybindings.  In the future, the keymap parent
27431         should be removed, and perhaps also the duplicate bindings that
27432         already exist in dired-mode-map.
27433         (image-dired-setup-dired-keybindings): Remove.  Replace with an
27434         obsolete function alias.
27435         (image-dired-minor-mode): New minor mode, assuming the role of
27436         image-dired-setup-dired-keybindings.
27438 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27440         * test/src/regex-resources/PTESTS: Convert to UTF-8.
27442 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
27444         Clarify thread-signal semantics
27446         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
27447         thread will be signaled as soon as possible.
27449 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
27451         Clean up var watcher disabling on thread switching
27453         * src/data.c (Fset_default): Move code into new C level function,
27454         `set_default_internal'.
27455         (set_default_internal): New function, like `Fset_default' but also takes
27456         additional bindflag parameter.
27457         (set_internal): Only call `notify_variable_watchers' if bindflag is not
27458         SET_INTERNAL_THREAD_SWITCH.
27459         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
27460         passed on to set_internal and set_default_internal.  Adjust callers.
27461         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
27462         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
27463         temporarily adjusting symbol's trapped_write field.
27465 2016-12-13  Glenn Morris  <rgm@gnu.org>
27467         Minor fix for define-derived-mode
27469         * lisp/emacs-lisp/derived.el (define-derived-mode):
27470         Do not let eg eval-defun reset the values of syntax or abbrev tables,
27471         since they might have been defined externally.  (Bug#16160)
27473 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27475         * build-aux/git-hooks/pre-commit: Add whitespace comment.
27477 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
27479         Move backtrace to ELisp using a new mapbacktrace primitive
27481         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
27482         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
27483         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
27485         * lisp/subr.el (backtrace--print-frame): New function.
27486         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
27487         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
27489         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
27490         `mapbacktrace' instead of searching for "(debug" in the output of
27491         `backtrace'.
27493         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
27494         (subr-test-backtrace-integration-test): New tests.
27496         * doc/lispref/debugging.texi (Internals of Debugger): Document
27497         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
27499 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27501         Use C99 syntax for font drivers
27503         Problem reported by Daniel Colascione in:
27504         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
27505         * src/ftcrfont.c (ftcrfont_driver):
27506         * src/ftfont.c (ftfont_driver):
27507         * src/ftxfont.c (ftxfont_driver):
27508         * src/macfont.m (macfont_driver):
27509         * src/nsfont.m (nsfont_driver):
27510         * src/xfont.c (xfont_driver):
27511         * src/xftfont.c (xftfont_driver):
27512         Use C99 syntax, not the old GNU C syntax.
27514 2016-12-12  Glenn Morris  <rgm@gnu.org>
27516         Obsolete gs.el
27518         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
27519         * doc/lispref/display.texi (Image Formats): Remove postscript.
27520         (PostScript Images): Remove section.
27521         * doc/lispref/elisp.texi: Update menu.
27523 2016-12-12  Glenn Morris  <rgm@gnu.org>
27525         Un-revert recent Ffset change
27527         * src/data.c (Ffset): Reinstate the check for "nil".
27529 2016-12-12  Glenn Morris  <rgm@gnu.org>
27531         Minor advice.el fix
27533         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
27534         Avoid setting the function definition of nil.
27535         This was happening during bootstrap of org-compat.el,
27536         apparently due to eager macro expansion of code behind
27537         a (featurep 'xemacs) test.
27539 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27541         Make etags-tests work in out-of-tree builds
27543         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
27544         (etags-bug-23164): Make them work in an out-of-tree build.
27545         Reported by Ken Brown <kbrown@cornell.edu>.
27547 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27549         Avoid crashing if a new thread is signaled right away
27551         * src/thread.c (post_acquire_global_lock): Don't raise the pending
27552         signal if the thread's handlers were not yet set up, as that will
27553         cause Emacs to exit with a fatal error.  This can happen if a
27554         thread is signaled as soon as make-thread returns, before the new
27555         thread had an opportunity to acquire the global lock, set up the
27556         handlers, and call the thread function.
27558         * test/src/thread-tests.el (thread-signal-early): New test.
27560 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
27562         Fix point motion in cloned buffers
27564         * src/thread.c (post_acquire_global_lock): Call
27565         set_buffer_internal_2 instead of tricking set_buffer_internal_1
27566         into resetting the current buffer even if it didn't change.  This
27567         avoids bug#25165, caused by failing to record the modified values
27568         of point and mark, because current_buffer was set to NULL.  Also,
27569         don't bother re-setting the buffer if there was no thread switch,
27570         as that just wastes cycles.
27571         * src/buffer.c (set_buffer_internal_2): New function, with most of
27572         the body of set_buffer_internal_1, but without the test for B
27573         being identical to the current buffer.
27574         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
27575         identical to the current buffer.
27576         * src/buffer.h (set_buffer_internal_2): Add prototype.
27578         * test/src/thread-tests.el (thread-sticky-point): New test.
27580 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
27582         Further improvements in Tramp's file name unquoting
27584         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
27585         (tramp-adb-handle-write-region): Unquote localname.
27586         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
27587         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
27589         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
27590         (tramp-handle-file-name-case-insensitive-p):
27591         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
27592         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
27593         (tramp-gvfs-maybe-open-connection):
27594         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27595         * lisp/net/tramp-smb.el (tramp-smb-get-share)
27596         (tramp-smb-get-localname): Use it.
27598         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
27599         (tramp--test-special-characters, tramp-test34-utf8)
27600         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
27601         (tramp-test34-utf8-with-ls): Use it.
27603 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
27605         Strengthen conditions for resizing sibling windows (Bug#25169)
27607         * lisp/window.el (window-resize, delete-window): Resize other siblings
27608         only if `window-combination-resize' equals t (Bug#25169).
27610 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
27612         Quote filenames containing '~' in prompts
27614         When in a directory named '~', the default value given by
27615         `read-file-name' should be quoted by prepending '/:', in order to
27616         prevent it from being interpreted as referring to the $HOME
27617         directory (Bug#16984).
27619         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
27620         (completion--sifn-requote, read-file-name-default): Use it instead of
27621         `minibuffer--double-dollars'.
27622         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
27624 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
27626         Undo part of last change
27628         * src/thread.h:
27629         * src/keyboard.c:
27630         * src/keyboard.h: Undo part of last change:
27631         input_available_clear_time is again a global variable.
27633 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
27635         Avoid aborts when a thread signals an error
27637         * src/thread.h (struct thread_state): Add members
27638         m_waiting_for_input and m_input_available_clear_time.
27639         (waiting_for_input, input_available_clear_time): New macros.
27640         * src/keyboard.c (waiting_for_input, input_available_clear_time):
27641         Remove; they are now macros that reference the current thread.
27642         (Bug#25171)
27643         * src/w32select.c: Don't include keyboard.h.
27645         * test/src/thread-tests.el (thread-errors): New test.
27647 2016-12-11  Philipp Stephani  <phst@google.com>
27649         Clean up compile-tests.el
27651         Switch to lexical binding.  Make checkdoc happy.
27653         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
27654         (compile-test-error-regexps): Instead of checking a single Boolean
27655         value, use `should' for each attribute of the message to be compared.
27656         (compile-tests--test-regexps-data): Document sixth list element
27657         TYPE.
27659 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
27661         Fix Bug#25162
27663         * doc/emacs/files.texi (Reverting): Document
27664         auto-revert-remote-files and auto-revert-verbose.
27666         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
27667         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
27669 2016-12-11  Glenn Morris  <rgm@gnu.org>
27671         Fix a typo in define-abbrev-table
27673         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
27675 2016-12-11  Glenn Morris  <rgm@gnu.org>
27677         Improve previous cperl-mode change
27679         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
27680         Improve previous change.
27682 2016-12-11  Glenn Morris  <rgm@gnu.org>
27684         Mark default cperl abbrevs as system ones
27686         * lisp/progmodes/cperl-mode.el (cperl-mode):
27687         Mark our abbrevs as system ones.  (Bug#10934)
27689 2016-12-11  Glenn Morris  <rgm@gnu.org>
27691         Revert earlier Ffset change
27693         * src/data.c (Ffset): Allow nil again, since it caused
27694         eager macro-expansion failures.
27696 2016-12-11  Glenn Morris  <rgm@gnu.org>
27698         Tweaks for message bogus address detection
27700         * lisp/gnus/message.el (message-bogus-recipient-p):
27701         Do not require "@", since some mailers deliver to local addresses
27702         without one.  (Bug#23054)
27703         Move "@.*@" from here...
27704         (message-bogus-addresses): ...to here, so it can be customized.
27706 2016-12-11  Glenn Morris  <rgm@gnu.org>
27708         Do not allow nil to be defined as a function
27710         * lisp/emacs-lisp/byte-run.el (defun):
27711         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
27713 2016-12-11  Glenn Morris  <rgm@gnu.org>
27715         Bump makeinfo requirement from 4.7 to 4.13
27717         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
27718         We need at least 4.8, and that may be buggy, so go for the last
27719         of the 4 series, which is 8 years old.  (Bug#25108)
27721 2016-12-11  Glenn Morris  <rgm@gnu.org>
27723         Fixes related to select-enable-clipboard
27725         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
27726         (clipboard-kill-region):
27727         * lisp/eshell/esh-io.el (eshell-virtual-targets)
27728         (eshell-clipboard-append):
27729         Replace option gui-select-enable-clipboard with
27730         select-enable-clipboard; renamed October 2014.  (Bug#25145)
27732 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
27734         Add some sanity checking of defun arglist
27736         * lisp/emacs-lisp/byte-run.el (defun):
27737         Check for malformed argument lists.  (Bug#15715)
27739 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
27741         Minor shell-mode fix for zsh
27743         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
27744         becoming confused by zsh abbreviations.  (Bug#24632)
27746 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
27748         Define struct predicate before acccesors
27750         The accessor functions use the predicate function, which causes problems
27751         when reloading after unload-feature: the compiler-macro property is
27752         still present on the predicate symbol, and the compiler fails to find
27753         the definition when trying to inline it into the accessor
27754         function (Bug#25088).
27756         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
27757         before field accessor definitions.
27759 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
27761         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
27762         system unit file.
27764 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27766         Support concurrency in Emacs Lisp
27768         Merge branch 'test-concurrency'
27770         * src/thread.c:
27771         * src/thread.h:
27772         * src/systhread.c:
27773         * src/systhread.h: New files.
27774         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
27775         xnmalloc unconditionally.
27776         * src/window.c (struct save_window_data): Rename current_buffer to
27777         f_current_buffer.
27778         * src/w32proc.c (sys_select): Change the function signature to
27779         closer fit 'pselect' on Posix hosts.
27780         * src/search.c:
27781         * src/regex.h: Convert some globals to macros that reference
27782         thread-specific values.
27783         * src/process.c (pset_thread, add_non_keyboard_read_fd)
27784         (add_process_read_fd, add_non_blocking_write_fd)
27785         (recompute_input_desc, compute_input_wait_mask)
27786         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
27787         (compute_write_mask, clear_waiting_thread_info)
27788         (update_processes_for_thread_death, Fset_process_thread)
27789         (Fprocess_thread): New functions.
27790         (enum fd_bits): New enumeration.
27791         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
27792         'condition' to 'flags'.
27793         (set_process_filter_masks, create_process, create_pty)
27794         (Fmake_serial_process, finish_after_tls_connection)
27795         (connect_network_socket, deactivate_process)
27796         (server_accept_connection, wait_reading_process_output)
27797         (Fcontinue_process, Fstop_process, keyboard_bit_set)
27798         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
27799         (delete_keyboard_wait_descriptor): Use the new functions instead
27800         of manipulating fd flags and masks directly.
27801         (syms_of_process): Defsubr the new primitives.
27802         * src/print.c (print_object): Print threads, mutexes, and
27803         conditional variables.
27804         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
27805         and PVEC_CONDVAR.
27806         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
27807         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
27808         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
27809         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
27810         f_lisp_eval_depth.
27811         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
27812         (rebind_for_thread_switch, do_one_unbind)
27813         (unbind_for_thread_switch): New functions.
27814         (init_eval): 'handlerlist' is not malloc'ed.
27815         (specbind): Call do_specbind.
27816         (unbind_to): Call do_one_unbind.
27817         (mark_specpdl): Accept 2 arguments.
27818         (mark_specpdl): Mark the saved value in a let-binding.
27819         * src/emacs.c (main): Call init_threads_once, init_threads, and
27820         syms_of_threads.
27821         * src/data.c (Ftype_of): Support thread, mutex, and condvar
27822         objects.
27823         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
27824         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
27825         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
27826         (BYTE_CODE_QUIT): Add back.
27827         (exec_byte_code): Add back byte stack manipulation.
27828         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
27829         conditional variables.
27830         (mark_stack): Now extern; accept additional argument 'bottom'.
27831         (flush_stack_call_func): New function.
27832         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
27833         mark handlers.
27834         * src/.gdbinit (xbytecode): Add back.
27836         * test/src/thread-tests.el: New tests.
27837         * test/src/data-tests.el (binding-test-manual)
27838         (binding-test-setq-default, binding-test-makunbound)
27839         (binding-test-defvar-bool, binding-test-defvar-int)
27840         (binding-test-set-constant-t, binding-test-set-constant-nil)
27841         (binding-test-set-constant-keyword)
27842         (binding-test-set-constant-nil): New tests.
27844         * doc/lispref/processes.texi (Processes and Threads): New
27845         subsection.
27846         * doc/lispref/threads.texi: New file
27847         * doc/lispref/elisp.texi (Top): Include it.
27848         * doc/lispref/objects.texi (Thread Type, Mutex Type)
27849         (Condition Variable Type): New subsections.
27850         (Type Predicates): Add thread-related predicates.
27851         * doc/lispref/objects.texi (Editing Types):
27852         * doc/lispref/elisp.texi (Top): Update higher-level menus.
27854         * etc/NEWS: Mention concurrency features.
27856 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27858         Fix error messages in thread.c
27860         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
27861         (Fcondition_notify, Fthread_join): Fix error messages.
27863 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27865         Improve doc strings in thread.c
27867         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
27868         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
27869         (Fthread_join, Fall_threads): Doc fixes.
27871 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27873         Fix building with check-lisp-object-type
27875         * src/thread.c (mark_one_thread): Use NILP to compare with
27876         m_saved_last_thing_searched, which is a Lisp object.  Reported by
27877         Andreas Politz <politza@hochschule-trier.de>.
27879 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
27881         Documentation and commentary improvements
27883         * src/lisp.h:
27884         * src/regex.c:
27885         * src/xgselect.c (xg_select): Improve commentary and formatting.
27887         * doc/lispref/objects.texi (Thread Type, Mutex Type)
27888         (Condition Variable Type): New subsections.
27889         (Type Predicates): Add thread-related predicates.
27890         * doc/lispref/objects.texi (Editing Types):
27891         * doc/lispref/elisp.texi (Top): Update higher-level menus.
27893 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
27895         Fix further problems with quoted file names in Tramp
27897         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
27898         (tramp-unquote-name): Move defsubst ...
27899         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
27900         (tramp-compat-file-name-quote)
27901         (tramp-compat-file-name-unquote): ... here. Adapt callees.
27903         * lisp/net/tramp-cache.el (tramp-flush-file-property)
27904         (tramp-flush-directory-property):
27905         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
27906         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27907         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
27908         (tramp-smb-handle-substitute-in-file-name)
27909         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
27911 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27913         *src/sysdep.c: Fix a comment.
27915 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27917         Fix compilation error on Fedora 24
27919         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
27920         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27922 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27924         Fix compilation warnings due to prototype of thread_select
27926         * src/thread.h <int select_func>: Make the 5th and 6th arguments
27927         be 'const'.
27928         * src/process.c [WINDOWSNT]:
27929         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
27930         'const'.
27932 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27934         Fix compilation on Debian GNU/Linux
27936         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
27937         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
27939 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
27941         Fix subtle errors with let-binding of localized variables
27943         * src/eval.c (do_specbind): Don't require a "symbol" that is
27944         actually a cons cell, in order to call set-default, as there are
27945         no longer such bindings.  This makes do_specbind work like the
27946         pre-concurrency implementation in specbind for bindings of
27947         forwarded symbols.  Use specpdl_kind to access the type of the
27948         binding.
27949         (specpdl_kind): New function.
27951 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
27953         Document file-name-quote, file-name-unquote and file-name-quoted-p
27955         * doc/lispref/files.texi (File Name Expansion):
27956         * etc/NEWS: Mention file-name-quote, file-name-unquote and
27957         file-name-quoted-p.
27959         * lisp/files.el (file-name-non-special): Revert using
27960         file-name-quote, file-name-unquote and file-name-quoted-p.
27962 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
27964         Fix bad quoting of python-shell-interpreter
27966         `python-shell-calculate-command' was using `shell-quote-argument' as if
27967         it was generating a shell command, but its callers don't pass the result
27968         to a shell, and they expect to parse it with `split-string-and-unquote'.
27969         This caused problems depending on the flavor of shell quoting in
27970         effect (Bug#25025).
27972         * lisp/progmodes/python.el (python-shell-calculate-command): Use
27973         `combine-and-quote-strings' to quote the interpreter, so that it can be
27974         parsed by `python-shell-make-comint' successfully using
27975         `split-string-and-unquote'.
27977 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27979         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
27981 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
27983         Make read1 more reentrant
27985         This is needed if ‘read’ is called soon after startup, before the
27986         Unicode tables have been set up, and it reads a \N escape and
27987         needs to look up a value the Unicode tables, a lookup that in turn
27988         calls read1 recursively.  Although this change doesn’t make ‘read’
27989         fully reentrant, it’s good enough to handle this case.
27990         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
27991         (grow_read_buffer): Revamp to use locals, not statics, and to
27992         record memory allocation un the specpdl.  All callers changed.
27993         (read1): Start with a stack-based buffer, and use the heap
27994         only if the stack buffer is too small.  Use unbind_to to
27995         free any heap buffer allocated.  Use bool for boolean.
27996         Redo symbol loop so that only one call to grow_read_buffer
27997         is needed.
27998         (init_obarray): Remove no-longer-needed initialization.
28000 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
28002         Fix compilation warnings
28004         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
28005         compilation warning.
28007 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
28009         Fix unlikely substitute-command-keys memory leak
28011         * src/doc.c (Fsubstitute_command_keys):
28012         Free buffer when unwinding.
28014 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
28016         Add file-name-quoted-p, file-name-quote, file-name-unquote
28018         * lisp/files.el (file-name-quoted-p, file-name-quote)
28019         (file-name-unquote): New defsubst.
28020         (find-file--read-only, find-file-noselect)
28021         (file-name-non-special): Use them.
28023 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
28025         Add a NEWS entry.
28027 2016-12-08  Glenn Morris  <rgm@gnu.org>
28029         Minor fix for symbol-file
28031         * lisp/subr.el (symbol-file): Avoid false matches with "require"
28032         elements in load-history.  (Bug#25109)
28034 2016-12-08  Glenn Morris  <rgm@gnu.org>
28036         Doc fix for vc-git
28038         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
28040 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
28042         Fix Bug#24962
28044         * lisp/buff-menu.el (list-buffers--refresh):
28045         List buffers with name starting with " " if they visit a file.
28046         * test/lisp/buff-menu-tests.el (buff-menu-24962):
28047         Update test result as pass.
28049 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
28051         ediff-fixup-patch-map: Improve prompt
28053         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
28054         Make clear in the prompt when we are applying a multi patch.
28056 2016-12-08  Glenn Morris  <rgm@gnu.org>
28058         Retain message logging in map-y-or-n-p
28060         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
28061         Stop disabling logging to Messages buffer.  (Bug#13326)
28063 2016-12-08  Glenn Morris  <rgm@gnu.org>
28065         Doc fix for recent change
28067         * lisp/simple.el (region-modifiable-p): Doc fix.
28069 2016-12-08  Glenn Morris  <rgm@gnu.org>
28071         Quieten make-dist default operation
28073         * make-dist: Add --verbose option.  Default to quieter operation.
28075 2016-12-08  Glenn Morris  <rgm@gnu.org>
28077         Further improve make-dist checking
28079         * make-dist: Print status messages when checking.
28081 2016-12-08  Glenn Morris  <rgm@gnu.org>
28083         Improve previous make-dist change
28085         * make-dist: Let make check the info files more thoroughly.
28087 2016-12-08  Glenn Morris  <rgm@gnu.org>
28089         Make make-dist --snapshot do some sanity checks
28091         * make-dist: Snapshot mode no longer disables checks.
28092         Checks now includes checks for freshness.  (Bug#25084)
28093         Checks now exits with an error if problems were found.
28095 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28097         Fix regression introduced by commit 7b1e97f
28099         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
28100         of cadr; required after commit 20f5a5b.
28102 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28104         Put post-25 ChangeLog entries into ChangeLog.3
28106         * ChangeLog.2: Copy from emacs-25 branch.
28107         * ChangeLog.3: New file, with changes only in master.
28108         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
28110 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
28112         Fix network streams.
28114         The original code messed up flags in fd_callback_data[], and also
28115         didn't call add_process_read_fd for process-related file descriptors.
28117 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
28119         Minimize spurious diffs from master.
28121 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
28123         Fix the test suite
28125         * test/automated/bindings.el: Contents moved to
28126         test/src/data-tests.el.
28127         * test/automated/threads.el: Moved to test/src/thread-tests.el.
28129 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
28131         Fix a typo in bytecode.c.
28133 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
28135         Fix compilation problems.
28137         Fix merged code in process.c and eval.c.
28139 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
28141         Merge branch 'concurrency'
28143         Conflicts (resolved):
28144                 configure.ac
28145                 src/Makefile.in
28146                 src/alloc.c
28147                 src/bytecode.c
28148                 src/emacs.c
28149                 src/eval.c
28150                 src/lisp.h
28151                 src/process.c
28152                 src/regex.c
28153                 src/regex.h
28155 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
28157         Fix the MS-Windows build
28159         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
28161         * src/sysselect.h: Don't define fd_set and FD_* macros for
28162         MS-Windows here.
28163         * src/w32.h: Define them here.
28165         * src/process.h (sys_select): Declare prototype.
28167         * src/sysdep.c:
28168         * src/process.c:
28169         * src/filelock.c:
28170         * src/emacs.c:
28171         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
28172         * nt/inc/socket.h: Include w32.h instead of sysselect.h
28174 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
28176         merge from trunk
28178 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
28180         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
28181         specpdl stack.
28183 2013-10-18  Tom Tromey  <tromey@redhat.com>
28185         change condition-variablep to condition-variable-p
28187 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
28189         Fix crashes when unbind_for_thread_switch signals an error.
28191          src/eval.c (unbind_for_thread_switch): Accept a 'struct
28192          thread_state *' argument and use specpdl_ptr and specpdl of that
28193          thread.  Fixes crashes if find_symbol_value signals an error.
28194          src/thread.c (post_acquire_global_lock): Update current_thread
28195          before calling unbind_for_thread_switch.  Pass the previous thread
28196          to unbind_for_thread_switch.
28198 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
28200         Improve MS-Windows implementation of threads.
28202          src/systhread.c (sys_cond_init): Set the 'initialized' member to
28203          true only if initialization is successful.  Initialize wait_count
28204          and wait_count_lock.
28205          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
28206          'initialized' is false, do nothing.
28207          (sys_cond_wait): Fix the implementation to avoid the "missed
28208          wakeup" bug: count the waiting threads, and reset the broadcast
28209          event once the last thread was released.
28210          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
28211          PulseEvent.  Don't signal the event if no threads are waiting.
28212          (sys_cond_destroy): Only close non-NULL handles.
28213          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
28214          src/systhread.h (w32thread_cond_t): New member 'initialized'.
28215          Rename waiters_count and waiters_count_lock to wait_count and
28216          wait_count_lock, respectively.
28218 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
28220         Enable thread support in the MS-Windows build.
28222          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
28223          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
28224          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
28225          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
28226          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
28227          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
28228          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
28230          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
28231          if pthreads is not available.
28233 2013-08-27  Tom Tromey  <tromey@redhat.com>
28235         use condition-notify in the docs, not condition-signal
28237         zap until-condition docs
28239         zap until-condition
28241         rename thread-blocker to thread--blocker
28243         remove binding_symbol
28245         fix style of threadp, mutexp, and condition-variable-p
28247         make thread_check_current_buffer return bool
28249         add a comment before flush_stack_call_func
28251         fix whitespace_regexp warning
28253 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
28255         Fix MS-Windows build.
28257          src/callproc.c:
28258          src/emacs.c:
28259          src/filelock.c:
28260          src/process.c:
28261          src/sysdep.c:
28262          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
28263          redefinition of fd_set etc.
28264          src/process.c: Don't use num_pending_connects when
28265          NON_BLOCKING_CONNECT is not defined.
28266          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
28267          here from w32.h.
28268          src/w32proc.c (sys_select): Adjust the argument types to what
28269          thread.h expects.
28271          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
28272          of w32.h.
28274 2013-08-26  Tom Tromey  <tromey@redhat.com>
28276         use record_unwind_protect_void, avoid warning
28278         implement --enable-threads and a thread-less mode
28280 2013-08-25  Tom Tromey  <tromey@redhat.com>
28282         merge from trunk
28284 2013-08-20  Tom Tromey  <tromey@redhat.com>
28286         fix up some merge errors in process.c
28288         remove a dead function
28289         clean up a fixme I added in create_pty during the merge
28291 2013-08-20  Tom Tromey  <tromey@redhat.com>
28293         merge from trunk
28295 2013-07-26  Tom Tromey  <tromey@redhat.com>
28297         merge from trunk
28299 2013-07-13  Tom Tromey  <tromey@redhat.com>
28301         Merge from trunk
28303 2013-07-12  Tom Tromey  <tromey@redhat.com>
28305         Use thread_alive_p in a couple more spots
28307 2013-07-07  Tom Tromey  <tromey@redhat.com>
28309         fix xfree bug in run_thread
28311         this fixes run_thread to account for the dummy slot
28312         in specpdl
28314 2013-07-07  Tom Tromey  <tromey@redhat.com>
28316         merge from trunk
28318         this merges frmo trunk and fixes various build issues.
28319         this needed a few ugly tweaks.
28320         this hangs in "make check" now
28322 2013-07-06  Tom Tromey  <tromey@redhat.com>
28324         add assertion to flush_stack_call_func
28326         functions called via flush_stack_call_func are assumed
28327         to return with the global lock held again, and with
28328         current_thread reset.  this assertion verifies part of this
28330 2013-07-06  Tom Tromey  <tromey@redhat.com>
28332         call init_primary_thread from init_threads
28334 2013-07-05  Tom Tromey  <tromey@redhat.com>
28336         avoid SAFE_ALLOCA
28338         avoid SAFE_ALLOCA in xgselect.c.
28339         in this code it is just as easy to always use malloc;
28340         and it avoids thread-switching problems, as the safe-alloca
28341         stuff implicitly refers to the current thread
28343 2013-07-05  Tom Tromey  <tromey@redhat.com>
28345         avoid current_thread sometimes
28347         this tweaks thread.c to use 'self' instead of current_thread
28348         in a couple spots.  this is clearer and more robust
28350 2013-07-05  Tom Tromey  <tromey@redhat.com>
28352         initialize saved_value
28354         initialize the saved_value field in all needed cases
28355         also, add an assertion to do_one_unbind
28357 2013-07-04  Tom Tromey  <tromey@redhat.com>
28359         fix buglet in test case
28361 2013-07-04  Tom Tromey  <tromey@redhat.com>
28363         unlink thread later
28365         unlink thread from global list later
28366         also remove some unnecessary destruction code
28368 2013-07-04  Tom Tromey  <tromey@redhat.com>
28370         introduce thread_alive_p macro
28372         This introduces the thread_alive_p macro and changes
28373         thread-alive-p to use it.  This is a minor cleanup.
28374         It also changes all-threads to ignore dead threads.
28376 2013-07-03  Tom Tromey  <tromey@redhat.com>
28378         Don't call unbind_for_thread_switch in run_thread
28380         This removes the call to unbind_for_thread_switch from run_thread.
28381         This isn't necessary because acquire_global_lock does it properly.
28383 2013-07-03  Tom Tromey  <tromey@redhat.com>
28385         remove unused field from struct thread_state
28387         Fix a comment.
28389 2013-06-13  Tom Tromey  <tromey@redhat.com>
28391         merge from trunk
28393 2013-06-06  Tom Tromey  <tromey@redhat.com>
28395         fix a few latent issues in the thread patch
28397         * we called unbind_for_thread_switch unconditionally, but this
28398           is wrong if the previous thread exited
28399         * likewise, exiting a thread should clear current_thread
28400         * redundant assignment in run_thread
28401         * clean up init_threads - no need to re-init the primary thread
28403         This patch still sometimes causes weird hangs in "make check".
28404         However, I think that is a kernel bug, since Emacs enters the zombie
28405         state but its parent process hangs in wait.  This shouldn't happen.
28407 2013-06-04  Tom Tromey  <tromey@redhat.com>
28409         update eval.c to make it build again after the merge
28411 2013-06-03  Tom Tromey  <tromey@redhat.com>
28413         merge from trunk; clean up some issues
28415 2013-03-18  Tom Tromey  <tromey@redhat.com>
28417         don't let kill-buffer kill a buffer if it is current in any thread
28419 2013-03-18  Tom Tromey  <tromey@redhat.com>
28421         fix process bugs
28423         Fix some process-related bugs, mostly thinkos from the conversion to
28424         recording fd state as flags.
28425         This now passes the test suite without hanging.
28427 2013-03-17  Tom Tromey  <tromey@redhat.com>
28429         merge from trunk
28431 2013-03-08  Tom Tromey  <tromey@redhat.com>
28433         merge from trunk
28435 2013-01-16  Tom Tromey  <tromey@redhat.com>
28437         merge from trunk
28439 2013-01-06  Tom Tromey  <tromey@redhat.com>
28441         merge from trunk
28443 2012-12-23  Tom Tromey  <tromey@redhat.com>
28445         mention let bindings and lack of other ways to rewind
28447 2012-12-17  Tom Tromey  <tromey@redhat.com>
28449         Remove bit accidentally left over from the merge
28451         merge from trunk
28453 2012-09-04  Tom Tromey  <tromey@redhat.com>
28455         merge from trunk
28457         link from thread docs to match data
28459 2012-08-27  Tom Tromey  <tromey@redhat.com>
28461         cannot thread-join the current thread
28463         fix test suite for condition-variable-p name change
28465         add tests for variable bindings
28467 2012-08-25  Tom Tromey  <tromey@redhat.com>
28469         minor update to thread-join docs
28471 2012-08-24  Tom Tromey  <tromey@redhat.com>
28473         minor documentation updates
28475 2012-08-23  Tom Tromey  <tromey@redhat.com>
28477         document until-condition
28479         first draft of threads documentation
28481         rename condition-variablep to condition-variable-p
28483         document process-thread and set-process-thread
28485 2012-08-20  Tom Tromey  <tromey@redhat.com>
28487         pass the thread name to the OS if possible
28489         use prctl to pass the thread name to the OS, if possible
28491 2012-08-20  Tom Tromey  <tromey@redhat.com>
28493         add convenience macros with-mutex and until-condition
28495         with-mutex is a safe way to run some code with a mutex held.
28496         until-condition is a safe way to wait on a condition variable.
28498 2012-08-20  Tom Tromey  <tromey@redhat.com>
28500         Merge from trunk
28502 2012-08-19  Tom Tromey  <tromey@redhat.com>
28504         another docstring fixlet
28506         minor docstring fixup
28508         add condition-mutex and condition-name
28510         ensure name of a thread is a string
28512         ensure name of a mutex is a string
28514         use NILP
28516 2012-08-19  Tom Tromey  <tromey@redhat.com>
28518         condition variables
28520         This implements condition variables for elisp.
28521         This needs more tests.
28523 2012-08-19  Tom Tromey  <tromey@redhat.com>
28525         comment fixes
28527 2012-08-19  Tom Tromey  <tromey@redhat.com>
28529         refactor systhread.h
28531         This refactors systhread.h to move the notion of a "lisp mutex"
28532         into thread.c.  This lets us make make the global lock and
28533         post_acquire_global_lock static.
28535 2012-08-17  Tom Tromey  <tromey@redhat.com>
28537         write docstrings for the thread functions
28539         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
28541 2012-08-15  Tom Tromey  <tromey@redhat.com>
28543         add test case for I/O switching
28545 2012-08-15  Tom Tromey  <tromey@redhat.com>
28547         process changes
28549         This changes wait_reading_process_output to handle threads better.  It
28550         introduces a wrapper for select that releases the global lock, and it
28551         ensures that only a single thread can select a given file descriptor
28552         at a time.
28554         This also adds the thread-locking feature to processes.  By default a
28555         process can only have its output accepted by the thread that created
28556         it.  This can be changed using set-process-thread.  (If the thread
28557         exits, the process is again available for waiting by any thread.)
28559         Note that thread-signal will not currently interrupt a thread blocked
28560         on select.  I'll fix this later.
28562 2012-08-15  Tom Tromey  <tromey@redhat.com>
28564         Prepare process.c for threads by not having global select masks.
28565         The next step is to make it so selects can choose fds by thread.
28567 2012-08-15  Tom Tromey  <tromey@redhat.com>
28569         fix a latent bug in process.c
28571         * src/process.c (wait_reading_process_output): Check Writeok bits,
28572         not write_mask.
28574 2012-08-15  Tom Tromey  <tromey@redhat.com>
28576         This adds thread-blocker, a function to examine what a thread is
28577         blocked on.  I thought this would be another nice debugging addition.
28579         This adds names to mutexes.  This seemed like a nice debugging
28580         extension.
28582         This adds some tests of the threading code.
28584 2012-08-15  Tom Tromey  <tromey@redhat.com>
28586         This supplies the mutex implementation for Emacs Lisp.
28588         A lisp mutex is implemented using a condition variable, so that we can
28589         interrupt a mutex-lock operation by calling thread-signal on the
28590         blocking thread.  I did things this way because pthread_mutex_lock
28591         can't readily be interrupted.
28593 2012-08-15  Tom Tromey  <tromey@redhat.com>
28595         This adds most of the thread features visible to emacs lisp.
28597         I roughly followed the Bordeaux threads API:
28599         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
28601         ... but not identically.  In particular I chose not to implement
28602         interrupt-thread or destroy-thread, but instead a thread-signaling
28603         approach.
28605         I'm still undecided about *default-special-bindings* (which I did not
28606         implement).  I think it would be more emacs-like to capture the let
28607         bindings at make-thread time, but IIRC Stefan didn't like this idea
28608         the first time around.
28610         There are one or two semantics issues pointed out in the patch where I
28611         could use some advice.
28613 2012-08-15  Tom Tromey  <tromey@redhat.com>
28615         This turns thread_state into a pseudovector and updates various bits
28616         of Emacs to cope.
28618 2012-08-15  Tom Tromey  <tromey@redhat.com>
28620         This introduces some new functions to handle the specpdl.  The basic
28621         idea is that when a thread loses the interpreter lock, it will unbind
28622         the bindings it has put in place.  Then when a thread acquires the
28623         lock, it will restore its bindings.
28625         This code reuses an existing empty slot in struct specbinding to store
28626         the current value when the thread is "swapped out".
28628         This approach performs worse than my previously planned approach.
28629         However, it was one I could implement with minimal time and
28630         brainpower.  I hope that perhaps someone else could improve the code
28631         once it is in.
28633 2012-08-15  Tom Tromey  <tromey@redhat.com>
28635         This introduces the low-level system threading support.  It also adds
28636         the global lock.  The low-level support is a bit over-eager, in that
28637         even at the end of the present series, it will not all be used.  I
28638         think thiat is ok since I plan to use it all eventually -- in
28639         particular for the emacs lisp mutex implementation.
28641         I've only implemented the pthreads-based version.  I think it should
28642         be relatively clear how to port this to other systems, though.
28644         I'd also like to do a "no threads" port that will turn most things
28645         into no-ops, and have thread-creation fail.  I was thinking perhaps
28646         I'd make a future (provide 'threads) conditional on threads actually
28647         working.
28649         One other minor enhancement available here is to make it possible to
28650         set the name of the new thread at the OS layer.  That way gdb, e.g.,
28651         could display thread names.
28653 2012-08-15  Tom Tromey  <tromey@redhat.com>
28655         This parameterizes the GC a bit to make it thread-ready.
28657         The basic idea is that whenever a thread "exits lisp" -- that is,
28658         releases the global lock in favor of another thread -- it must save
28659         its stack boundaries in the thread object.  This way the boundaries
28660         are always available for marking.  This is the purpose of
28661         flush_stack_call_func.
28663         I haven't tested this under all the possible GC configurations.
28664         There is a new FIXME in a spot that i didn't convert.
28666         Arguably all_threads should go in the previous patch.
28668 2012-08-15  Tom Tromey  <tromey@redhat.com>
28670         This introduces a thread-state object and moves various C globals
28671         there.  It also introduces #defines for these globals to avoid a
28672         monster patch.
28674         The #defines mean that this patch also has to rename a few fields
28675         whose names clash with the defines.
28677         There is currently just a single "thread"; so this patch does not
28678         impact Emacs behavior in any significant way.
28680 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28682         Merge from origin/emacs-25
28684         eeecac7 Fix minor quoting problems in doc strings
28686 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28688         Merge from origin/emacs-25
28690         35ce3fb Don't assume window-point and point are the same
28692 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28694         Merge from origin/emacs-25
28696         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
28697         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
28698         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
28699         93d8346 Improve indexing of 'man'
28701 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28703         Merge from origin/emacs-25
28705         d31298d Fix documentation of `window-combination-resize'
28706         2086f4c Typo fixes in elisp manual
28708 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28710         Merge from origin/emacs-25
28712         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
28713         5878abf Fix 'expand-file-name' during startup on MS-Windows
28715 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28717         Merge from origin/emacs-25
28719         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
28720         6d27423 Tweak refcard note about documentation location
28721         e46a134 Improve treatment of Fortran's "class is"
28723 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28725         Merge from origin/emacs-25
28727         93c0f51 Handle TeX comments when making new paragraph
28728         e0884f1 Restore keystroke echo in 'C-q'
28729         a6213ce Improve documentation of 'current-word'
28730         0828126 Fix a typo in an Eshell defcustom
28731         2e361c7 Minor copyedits of electric-pair-mode
28732         7499ee8 ; Minor copyedit in the Emacs manual
28733         45b652b Fix documentation of 'invocation-directory'
28734         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
28735         ba48880 ; Fix pl-refcard.tex
28737 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28739         Merge from origin/emacs-25
28741         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
28743 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28745         Merge from origin/emacs-25
28747         3d63b48 Update ChangeLog files and authors.el
28748         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
28749         a725592 Avoid errors in shr-pixel-column due to dedicated windows
28750         3138598 Update format-time-string documentation
28752 2016-12-07  Sam Steingold  <sds@gnu.org>
28754         delete-trailing-whitespace: handle read-only text in buffer
28756         * lisp/simple.el (region-modifiable-p): New function.
28757         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
28759 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28761         Fix minor quoting problems in doc strings
28763 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
28765         Fix --enable-gcc-warnings --with-ns on Fedora
28767         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
28768         (ALL_OBJC_CFLAGS): Use it.
28769         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
28770         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
28772 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
28774         Fix problems in quoting Tramp file names
28776         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
28777         (tramp-unquote-shell-quote-argument): New defun.
28778         (tramp-shell-quote-argument):
28779         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
28780         (tramp-make-copy-program-file-name):
28781         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28782         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
28783         (tramp-smb-shell-quote-argument): Use it.
28785 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28787         ibuffer-map-deletion-lines: Re-included it
28789         It was deleted in previous commit, but it's referenced
28790         by the macro 'define-ibuffer-op'.
28791         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
28793 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28795         ibuffer-unmark-all: simplify code
28797         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
28798         (ibuffer-unmark-all): Simplify code.
28800 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28802         define-ibuffer-filter: Discard wrong filters
28804         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
28805         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
28806         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
28808 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
28810         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
28812         so that it matches the actual implementation.
28813         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
28815 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28817         ibuffer-decompose-filter-group avoid unwanted side effects
28819         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
28820         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
28821         All callers changed (Bug#25058).
28822         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
28824 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28826         ibuffer-unmark-backward: Unmark the region when is active
28828         * lisp/ibuffer.el (ibuffer-unmark-backward):
28829         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
28830         with the region boundary as the first 2 arguments (Bug#24987).
28832 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
28834         Docstring improvement for seq-some (bug#25129)
28836         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
28837           regarding the returned value.
28839 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28841         dired-unmark-backward: Unmark the region when is active
28843         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
28844         a non-nil second argument (Bug#24986).
28846 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28848         New test file for ediff
28850         Fix previous commit.
28851         * test/lisp/vc/ediff-ptch-tests.el: New test.
28853 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28855         ediff-context-diff-label-regexp: Detect the end of second file
28857         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
28858         '\n' in file names (Bug#25010).
28859         * test/lisp/vc/ediff-ptch-tests.el: New file.
28860         (ibuffer-test-bug25010): Add test for Bug#25010.
28862 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28864         ibuffer-decompose-filter: Avoid side effects on error
28866         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
28867         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
28868         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
28869         Update test result as pass.
28871 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
28873         ibuffer: compare marks with EQ
28875         * lisp/ibuffer.el:
28876         (ibuffer-update-title-and-summary)
28877         (ibuffer-redisplay-current)
28878         (ibuffer-buffer-name-face, ibuffer-unmark-all)
28879         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
28880         Use 'eq' instead of 'char-equal' when comparing mark characters
28881         (Bug#25000).
28882         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
28883         Update test result as pass.
28885 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
28887         ibuffer-saved-filters: Remove extra nesting level
28889         Fix Bug#25049.
28890         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
28891         nesting level; add transparent setter to adjust old-format values;
28892         update doc string.
28893         (ibuffer-save-filters): Remove extra level of nesting
28894         in ibuffer-saved-filters values when saving new filters.
28895         (ibuffer-old-saved-filters-warning): New variable with
28896         clickable message with repair options to be displayed
28897         as a warning if 'ibuffer-repair-saved-filters' detects
28898         a format mismatch.
28899         (ibuffer-repair-saved-filters): Add new command to check and
28900         repair saved filters format.
28901         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
28902         Change access of saved filter data (cadr->cdr) to account
28903         for reduced nesting.
28904         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
28905         New test; check that filters are saved in the proper format.
28907 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
28909         Clean out some IRIX cruft
28911         * etc/MACHINES: Remove obsolete discussion of IRIX.
28912         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
28913         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
28914         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
28915         * src/unexelf.c [__sgi]: Don't include <syms.h>.
28916         (unexec) [__sgi]: Remove SGI-specific code.
28918 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
28920         Simplify FUNCTIONP implementation
28922         * src/bytecode.c (exec_byte_code):
28923         * src/image.c (parse_image_spec):
28924         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
28925         * src/eval.c (FUNCTIONP): Move here ...
28926         * src/lisp.h: ... from here.  No longer inline, as that
28927         bloats the text and does not help speed (at least on my platform).
28928         (functionp): Remove this name, since callers use FUNCTIONP.
28930 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28932         Don't assume window-point and point are the same
28934         The function `cursor-sensor--detect' calls `bobp' to decide whether to
28935         check properties at (1- (window-point)).  However, (window-point) may be
28936         at beginning of buffer, even if (point) is not.  In this case an
28937         `args-out-of-range' error will be signaled (Bug#25104).
28939         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
28940         value of (window-point) against (point-min), rather than (bobp) to
28941         decide if (1- (window-point)) is accessible.
28943 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28945         Give test-completion's PREDICATE the hashtable key
28947         For hashtable entries with symbol keys, `test-completion' would convert
28948         the key to a string before calling PREDICATE, unlike `try-completion'
28949         and `all-completions'.
28951         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
28953 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28955         Give test-completion's PREDICATE full alist entry
28957         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
28958         calling test-completion with an alist collection, the predicate was
28959         recieving the string value instead of the alist entry (Bug#24966).
28961         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
28962         test STRING against `completion-regexp-list'.
28963         * test/src/minibuf-tests.el: New tests for `try-completion',
28964         `all-completions', and `test-completion'.
28966 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
28968         Fix ert-tests when running compiled
28970         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
28971         specific macroexpansion, just check result of evaluation.
28972         (ert-test-record-backtrace): Don't hardcode representation of closure in
28973         expected backtrace, this lets the test succeed even when the test code
28974         is compiled.
28976         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
28977         `byte-compile-macro-environment' to `macroexpand', this allows the
28978         `should' macro to properly handle macroexpansion of macros that were
28979         defined in the same file when it's being compiled (Bug #17851).
28981 2016-12-06  Glenn Morris  <rgm@gnu.org>
28983         Make "g" in vc push/pull buffers re-push/pull
28985         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
28986         * lisp/vc/vc-git.el (vc-git--pushpull):
28987         * lisp/vc/vc-hg.el (vc-hg--pushpull):
28988         Set compile-command so that "g" works.  (Bug#11446)
28990 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
28992         Change two _Noreturn functions to return void
28994         This is a bit clearer than _Noreturn functions that (do not)
28995         return a non-void type.
28996         * src/callproc.c (call_process) [MSDOS]:
28997         Use 'status' local to record status.
28998         (child_setup): Return CHILD_SETUP_TYPE.
28999         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
29000         All callers changed.
29001         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
29003 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
29005         Fix GPG bug introduced by Oct file-missing change
29007         Problem with visiting nonexistent .gpg file
29008         reported by Herbert J Skuhra.
29009         * lisp/epa-file.el (epa-file--find-file-not-found-function):
29010         (epa-file-insert-file-contents, epa-file-write-region):
29011         Signal file-missing or file-error instead of epa-error.
29013 2016-12-05  Glenn Morris  <rgm@gnu.org>
29015         Tweak recent flymake change
29017         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
29018         Avoid double message when flymake-log-level >= 0.
29019         * doc/misc/flymake.texi (Customizable variables):
29020         No longer mention flymake-gui-warnings-enabled.
29022 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
29024         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
29026         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
29027         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
29028         `widget-backward' instead (bug#25091).
29030 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
29032         Remove compat code in Tramp
29034         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
29036         * lisp/net/tramp-compat.el (top): Require parse-time.
29038         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
29039         Use `parse-time-months'.
29041 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
29043         Don't try to split side windows in ibuffer (Bug#25115)
29045         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
29046         split a side window (Bug#25115).
29048 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
29050         * src/lisp.h: Update comment to kick -Og down the road.
29052 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
29054         More image-dired refactoring
29056         * lisp/image-dired.el: Remove TODO comment. This appears to have been
29057         implemented in 5d7433a "image-dired: Signal an error before calling a
29058         missing executable".
29059         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
29060         Add :version.
29061         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
29062         when. Remove superfluous call to image-dired-thumb-name. Move single nil
29063         binding and setq into dolist form.
29065 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
29067         Implement quoting the local part of a remote file name
29069         * doc/emacs/files.texi (Quoted File Names):
29070         * etc/NEWS: Mention quoting the local part of a remote file name.
29072         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
29073         `tramp-tramp-file-p'.
29074         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
29075         New defsubst.
29076         (tramp-handle-substitute-in-file-name)
29077         (tramp-handle-make-auto-save-file-name): Handle quoted files.
29078         (tramp-shell-quote-argument): Unquote argument.
29080         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
29081         Handle quoted files.
29083         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
29084         (tramp--test-make-temp-name): New argument QUOTED.
29085         (tramp-test01-file-name-syntax)
29086         (tramp-test02-file-name-dissect)
29087         (tramp-test04-substitute-in-file-name)
29088         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
29089         (tramp-test08-file-local-copy)
29090         (tramp-test09-insert-file-contents)
29091         (tramp-test10-write-region, tramp-test11-copy-file)
29092         (tramp-test12-rename-file, tramp-test13-make-directory)
29093         (tramp-test14-delete-directory, tramp-test15-copy-directory)
29094         (tramp-test16-directory-files)
29095         (tramp-test17-insert-directory)
29096         (tramp-test18-file-attributes)
29097         (tramp-test19-directory-files-and-attributes)
29098         (tramp-test20-file-modes, tramp-test21-file-links)
29099         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
29100         (tramp-test24-file-name-completion, tramp-test25-load)
29101         (tramp-test26-process-file, tramp-test27-start-file-process)
29102         (tramp-test28-shell-command, tramp-test30-vc-registered)
29103         (tramp-test31-make-auto-save-file-name)
29104         (tramp--test-check-files)
29105         (tramp-test35-asynchronous-requests): Test also quoted file names.
29106         (tramp--test-shell-command-to-string-asynchronously): Rename.
29107         (tramp-test29-environment-variables): Use it.
29109 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
29111         Fix typo in dired-omit-case-fold-p
29113         * lisp/dired-x.el (dired-omit-case-fold-p):
29114         Write 'file-name-case-insensitive-p' instead of
29115         'file-name-case-sensitive-p'.
29116         Add declaration of 'file-name-case-insensitive-p'.
29118 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
29120         Add HTML5 attributes for the input element
29122         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
29123         for the input element.
29125 2016-12-03  Glenn Morris  <rgm@gnu.org>
29127         Obsolete sc-load-hook in favor of eval-after-load
29129         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
29130         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
29131         No longer mention sc-load-hook.
29133 2016-12-03  Glenn Morris  <rgm@gnu.org>
29135         Obsolete calendar-load-hook in favor of eval-after-load
29137         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
29138         (calendar): Doc fix - no longer mention calendar-load-hook.
29139         * doc/emacs/cal-xtra.texi (Calendar Customizing):
29140         No longer mention calendar-load-hook.
29141         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
29142         Replace calendar-load-hook in example with with-eval-after-load.
29144 2016-12-03  Glenn Morris  <rgm@gnu.org>
29146         Fix markup in read-multiple-choice doc (Bug#25102)
29148         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
29150 2016-12-03  Glenn Morris  <rgm@gnu.org>
29152         Stop flymake using dialog boxes for errors (Bug#16622)
29154         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
29155         Mark as obsolete.
29156         (flymake-display-warning): Turn into an obsolete alias.
29157         (flymake-report-fatal-status): Just use message for a warning that
29158         was formerly displayed by default.
29160 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
29162         Clean up keymap and menu code in image-dired
29164         A function to populate these maps is not necessary, just define the maps
29165         once and for all.
29166         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
29167         clearer and in the spirit of dired's.
29168         (image-dired-define-display-image-mode-keymap):
29169         (image-dired-define-thumbnail-mode-keymap): Remove.
29170         (image-dired-thumbnail-mode-map):
29171         (image-dired-thumbnail-mode-line-up-map):
29172         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
29173         menu code from the aforementioned removed functions.  Reorder so that
29174         the definitions are inherited properly.
29175         (image-dired-display-current-image-sized): Fix erroneous message.
29176         (image-dired-thumbnail-mode):
29177         (image-dired-display-image-mode): Remove defunct call.
29179 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
29181         Mention `file-name-case-insensitive-p' as magic file name
29183         * doc/lispref/files.texi (Magic File Names):
29184         Mention `file-name-case-insensitive-p'.
29186         * doc/lispref/variables.texi (Connection Local Variables):
29187         Fix typo.
29189 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
29191         Clean up uses of cl-foo in image-dired
29193         Both instances here are just emulating cl-find-if.
29194         * lisp/image-dired.el: Use cl-lib at compile time.
29195         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
29196         Replace the cl-foo instances with equivalent cl-loops.
29198 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
29200         Avoid compilation warnings in nt/*.c files
29202         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
29203         (console_event_handler): Add prototypes.
29204         (canon_filename, skip_space, skip_nonspace, get_next_token)
29205         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
29206         (spawn, get_env_size): Now static.
29207         * nt/ddeclient.c (DdeCallback): Provide prototype.
29208         * nt/addpm.c (DdeCallback): Provide prototype.
29209         (add_registry): Now static.
29211 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
29213         Display window before calculating width
29215         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
29216         before calling image-dired-line-up and friends, which in turn calculate
29217         the window width. Otherwise, the thumbnail layout will be wrong in
29218         a side-by-side split.
29220 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
29222         Use pop-to-buffer-same-window
29224         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
29225         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
29226         use pop-to-buffer-same-window cf. Bug#22244.
29227         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
29229 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29231         Document watchpoints
29233         * doc/lispref/debugging.texi (Variable Debugging):
29234         * doc/lispref/variables.texi (Watching Variables): New section.
29235         * etc/NEWS: Add entry for watchpoints
29237 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29239         Add tests for watchpoints
29241         * test/src/data-tests.el (data-tests-variable-watchers):
29242         (data-tests-local-variable-watchers): New tests.
29244 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29246         Ensure redisplay using variable watcher
29248         This replaces looking up the variable name in redisplay--variables when
29249         setting it.
29251         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
29252         calls.
29253         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
29254         set the redisplay flag unconditionally.
29255         (Vredisplay__variables): Remove it.
29256         * src/data.c (set_internal): Remove maybe_set_redisplay call.
29258 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29260         Add function to trigger debugger on variable write
29262         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
29263         (debug--variable-list):
29264         (cancel-debug-on-variable-change): New functions.
29265         (debugger-setup-buffer): Add watchpoint clause.
29267 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29269         Show watchpoints when describing variables
29271         * src/data.c (Fget_variable_watchers): New function.
29272         * lisp/help-fns.el (describe-variable): Use it to detect watching
29273         functions.
29275 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
29277         Add lisp watchpoints
29279         This allows calling a function whenever a symbol-value is changed.
29281         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
29282         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
29283         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
29284         (enum symbol_trapped_write): New enumeration.
29285         (struct Lisp_Symbol): Rename field constant to trapped_write.
29286         (make_symbol_constant): New function.
29288         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
29289         (set_symbol_trapped_write, restore_symbol_trapped_write):
29290         (harmonize_variable_watchers, notify_variable_watchers): New functions.
29292         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
29293         symbols.
29294         (set_internal): Change bool argument BIND to 3-value enum and call
29295         `notify_variable_watchers' for trapped symbols.
29297         * src/data.c (syms_of_data):
29298         * src/data.c (syms_of_data):
29299         * src/font.c (syms_of_font):
29300         * src/lread.c (intern_sym, init_obarray):
29301         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
29303         * src/alloc.c (init_symbol):
29304         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
29305         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
29306         (Fmake_variable_frame_local):
29307         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
29308         trapped_write instead of constant.
29309         (Ffuncall): Move subr calling code into separate function.
29310         (funcall_subr): New function.
29312 2016-12-02  Glenn Morris  <rgm@gnu.org>
29314         Starting doc of user options with "*" is long obsolete
29316         * lisp/battery.el (battery-upower-device): Doc fix.
29318 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
29320         Fix bug#25087
29322         * etc/themes/manoj-dark-theme.el: Fix two typos.
29324         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
29326 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
29328         Fix docstrings to have a complete sentence in first line
29330         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
29331         docstrings.
29333 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
29335         Remove obsolete comments and commented code from dired-x.el
29337         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
29338         1997 answer about whether dired-mark-sexp is used.
29339         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
29340         commented out since before dired-x.el was added to RCS in 1994.
29342 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
29344         Remove pre-customize dired-x.el documentation
29346         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
29347         use dired-x from .emacs.  It is now fully customizable.
29348         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
29349         how to set this custom variable in .emacs.  It should be customized.
29351 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
29353         Allow files to be matched case-sensitively in dired-x
29355         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
29356         controls case folding for matching the regex (Bug#18716).
29357         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
29358         systems, `nil' otherwise.
29359         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
29360         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
29362 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
29364         Add support for curly quotation marks to electric-pair-mode
29366         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
29367         entries for left/right single/double quotation marks, from
29368         electric-quote-chars. Note that this is safe for single quotation marks,
29369         unlike with the ASCII apostrophe, since, although the right quotation
29370         mark can be used as an apostrophe, it is the left quotation mark that is
29371         typed to get a pair (Bug#24901).
29373 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
29375         Fix bug#25087
29377         * etc/themes/manoj-dark-theme.el: Fix two typos.
29379 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
29381         Handle quoted file names in Tramp
29383         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
29384         case the file name is quoted.  This is not trapped by the
29385         reassigned `tramp-file-name-regexp' anymore.
29387 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
29389         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
29391 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
29393         Support for rawrgb images using imagemagick
29395         * src/image.c (imagemagick_load_image): Set wand size before loading
29396         blob when ':width' and ':height' are provided.
29398         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
29400 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
29402         Fix 'sql-connect' on first invocation
29404         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
29405         param-var.  (Bug#19452)
29407 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
29409         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
29411 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
29413         Improve indexing of 'man'
29415         * doc/emacs/programs.texi (Man Page): Index 'man', not
29416         'manual-entry', as the latter is an alias for the former.
29417         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
29419 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29421         Port to Sun C 5.14
29423         Backport from master.  Sun C 5.14 supports C11 but not GCC
29424         extensions, and so refuses to compile Emacs without this patch.
29425         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
29426         size_t, as in general this macro is restricted to signed types.
29428 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29430         Fix type typo on Solaris
29432         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
29433         Fix type mismatch, caught by --enable-check-lisp-object-type.
29435 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29437         Merge from gnulib
29439         This incorporates:
29440         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
29441         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
29442         * build-aux/snippet/c++defs.h:
29443         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29444         Copy from gnulib.
29446 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29448         Make struct font_drivers read-only
29450         This simplifies the code a bit, and makes the structs more
29451         shareable and less likely to become corrupt.
29452         * src/alloc.c (cleanup_vector):
29453         * src/font.c (valid_font_driver, font_prepare_cache)
29454         (font_finish_cache, font_get_cache, font_clear_cache)
29455         (register_font_driver, font_update_drivers):
29456         * src/font.h (struct font, struct font_driver_list)
29457         (valid_font_driver):
29458         struct font_drivers are now const.
29459         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
29460         Omit no-longer-necessary decls.
29461         * src/ftcrfont.c (syms_of_ftcrfont):
29462         * src/ftxfont.c (syms_of_ftxfont):
29463         * src/xftfont.c (syms_of_xftfont):
29464         Omit no-longer-necessary initialization code.
29465         * src/ftcrfont.c (ftcrfont_driver):
29466         * src/ftfont.c (ftfont_driver):
29467         * src/ftxfont.c (ftxfont_driver):
29468         * src/macfont.m (macfont_driver):
29469         * src/nsfont.m (nsfont_driver):
29470         * src/xfont.c (xfont_driver):
29471         * src/xftfont.c (xftfont_driver):
29472         Use C99-style initializer for ease of maintenance, and make it const.
29473         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
29474         Refer to functions like ftfont_text_extents directly.
29475         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
29476         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
29477         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
29478         (ftfont_variation_glyphs, ftfont_filter_properties)
29479         (ftfont_combining_capability):
29480         * src/xfont.c (xfont_get_cache):
29481         Now extern, so that other modules’ struct font_drivers can use
29482         them directly.
29483         * src/macfont.m (macfont_descriptor_entity):
29484         * src/nsfont.m (nsfont_open):
29485         Use constant directly; this is clearer.
29487 2016-12-01  Richard Stallman  <rms@gnu.org>
29489         Fix mail-combine-fields
29491         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
29492         avoid losing our place in the search loop.
29494         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
29496 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
29498         Forth related improvements for etags
29500         Generate correct tags names for things like "(foo)".
29501         Previously "(foo" created.
29503         Fix a bug where a tag for "-bar" was created when encountering things
29504         like "create-bar".
29506         Recognize more words from the Forth-2012 Standard.
29508         * lib-src/etags.c (Forth_words): Check for whitespace after defining
29509         words.  Create tag with make_tag instead of get_tag to avoid notiname
29510         which isn't appropriate for Forth.
29512         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
29513         * test/manual/etags/ETAGS.good_1:
29514         * test/manual/etags/ETAGS.good_2:
29515         * test/manual/etags/ETAGS.good_3:
29516         * test/manual/etags/ETAGS.good_4:
29517         * test/manual/etags/ETAGS.good_5:
29518         * test/manual/etags/ETAGS.good_6:
29519         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
29520         new test cases.
29522 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
29524         Fix bugs with buffer-local tags tables
29526         * lisp/progmodes/etags.el (visit-tags-table): After
29527         'visit-tags-table-buffer' returns, retrieve the value of
29528         'tags-file-name' from the buffer we started in.  Force
29529         recomputation of 'tags-completion-table' next time it is used,
29530         since the list of tags table has changed.
29531         (visit-tags-table-buffer): Accept an additional optional argument
29532         CBUF, the buffer in which to start processing, and switch to that
29533         buffer if CBUF is non-nil.  All callers changed to supply a
29534         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
29535         Doc fix.
29536         (tags-completion-table): Accept an optional argument, the buffer
29537         for which to build 'tags-completion-table', and build that
29538         buffer's completion table.
29539         (tags-lazy-completion-table): Pass the current buffer to
29540         'tags-completion-table'.
29541         (tags-file-name): Don't say in the doc string that setting this
29542         variable directly is enough; say that 'visit-tags-table' should be
29543         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
29545         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
29546         advice to set 'tags-file-name' directly.
29548         * test/lisp/progmodes/etags-tests.el: New tests.
29550 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
29552         Fix documentation of `window-combination-resize'
29554         * src/window.c (Vwindow_combination_resize): Fix doc-string.
29555         * doc/lispref/windows.texi (Recombining Windows): Fix
29556         documentation of `window-combination-resize'.
29558 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29560         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
29562         All uses replaced by LISPSYM_INITIALLY.
29564 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
29566         Make Cairo safer for --enable-gcc-warnings
29568         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
29569         Avoid overflow warnings about ‘0xff << 24’.
29570         (xpm_load, gif_load): Avoid unnecessary casts.
29571         (gif_load): Fewer ifdefs.
29573 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29575         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
29577         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
29578         !NILP.
29580 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
29582         Fix previous commit
29584         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
29585         of hunk before calling `diff-hunk-style'.
29587 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
29589         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
29591 2016-11-29  Glenn Morris  <rgm@gnu.org>
29593         Use archive-mode for .cbr files
29595         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
29597 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29599         Pacify Sun C 5.14
29601         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
29602         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
29603         into this enum rather than into an anonymous enum.  This avoids
29604         diagnostics from Sun C 5.14 and is a bit clearer anyway.
29606 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29608         Adjust lwlib to recent config.h change
29610         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
29612 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
29614         * src/eval.c (clobbered_eassert): Check E's syntax.
29616 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
29618         Improve user retrieval from auth-source in Tramp
29620         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
29621         Use user for auth-source request only in case it exists.
29623 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
29625         shr.el: Don't render a normal table twice
29627         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
29628         Don't render a table if it is called for the first time,
29629         IOW, recognize it to never be invalid (bug#25051).
29631 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
29633         Typo fixes in elisp manual
29635         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
29636         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
29637         definitions of 'string-prefix-p' and 'string-suffix-p'.
29638         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
29640 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
29642         Improve diff-mode navigation/manipulation
29644         This is Bug #17544.
29646         Navigation and use of diff buffers had several annoying corner cases
29647         that this patch fixes.  These corner cases were largely due to
29648         inconsistent treatment of file headers.  Say you have a diff such as
29649         this:
29651          --- aaa
29652          +++ bbb
29653          @@ -52,7 +52,7 @@
29654          hunk1
29655          @@ -74,7 +74,7 @@
29656          hunk2
29657          --- ccc
29658          +++ ddd
29659          @@ -608,6 +608,6 @@
29660          hunk3
29661          @@ -654,7 +654,7 @@
29662          hunk4
29664         The file headers here are the '---' and '+++' lines.  With the point on
29665         such a line, hunk operations would sometimes refer to the next hunk and
29666         sometimes to the previous hunk.  Most of the time it would be the
29667         previous hunk, which is not what the user would expect.  This patch
29668         consistently treats such headers as the next hunk.  So with this patch,
29669         if the point is on the '--- ccc' line, the point is seen as referring to
29670         hunk3.
29672         Specific behaviors this fixes are:
29674         1. It should be possible to place the point in the middle of a diff
29675         buffer, and press M-k repeatedly to kill hunks in the order they appear
29676         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
29677         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
29678         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
29679         This is fixed by this patch.
29681         2. Similarly, it should be possible to apply hunks in order.  Previously
29682         with the point at the start, C-c C-a would apply the hunk1, then move
29683         the point to the first @@ header, and thus C-c C-a would try to apply
29684         the same hunk again.
29686         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
29687         navigation logic to diff-{hunk,file}-{next,prev}.
29688         (diff-hunk-next, diff-hunk-prev):
29689         (diff-file-next, diff-file-prev): Better navigation logic if
29690         skip-hunk-start is true, which happens when called interactively.
29691         (diff-bounds-of-hunk, diff-find-source-location):
29692         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
29693         improve hunk navigation.
29695 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
29697         Upcase Path and ComSpec in process-environment
29699         Since 2016-07-18 "Keep w32 environment settings internal only", the
29700         upcasing of environment variables "Path" and "ComSpec" occurred after
29701         initializing process-environment.  This meant that Lisp code trying to
29702         override "PATH" environment had no effect (Bug #24956).
29704         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
29705         in Vprocess_environment.
29707 2016-11-28  Philipp Stephani  <phst@google.com>
29709         Guard terminal parameter in XTerm mouse mode
29711         It has been observed (in the HTerm terminal emulator) that the
29712         event stored in the 'xterm-mouse-last-down' terminal parameter gets
29713         overwritten during a mouse drag operation, causing Emacs to attempt to
29714         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
29715         the terminal parameter to protect against such modifications.
29717         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
29718         of input event list.
29720 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29722         Fix template for module functions
29724         Reported by Syohei YOSHIDA (Bug#24932).
29725         * modules/modhelp.py (TEMPLATES):
29726         c_func’s 2nd arg is ptrdiff_t, not int.
29728 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
29730         Pacify gcc -Wswitch.
29732         * src/keyboard.c (kbd_buffer_store_buffered_event):
29733         Move initialization into default case.
29735 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29737         Reuse already existing lisp symbols for ignore_event (bug#19547).
29739         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
29740         * src/keyboard.c (kbd_buffer_store_buffered_event):
29741         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
29742         and make-frame-visible for DEICONIFY_EVENT.
29743         (syms_of_keyboard): Remove unneeded symbols.
29745 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
29747         Allow configuring which event throw-on-input should ignore (bug#19547).
29749         * src/keyboard.c (kbd_buffer_store_buffered_event):
29750         Translate event to corresponding symbol from `while-no-input-ignore-events`
29751         and check them with Fmemq.
29752         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
29753         and its symbols.
29755         * lisp/subr.el (while-no-input-ignore-events): Add default values.
29757         * doc/lispref/commands.texi (Event Input Misc):
29758         Document while-no-input-ignore-events.
29759         * etc/NEWS: Same.
29761 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
29763         ash, lsh avoid code duplication
29765         See discussion in:
29766         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
29767         * src/data.c (ash_lsh_impl): New function.
29768         (ash, lsh): Use it.
29770 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
29772         Add will change module to CSS property list
29774         * lisp/textmodes/css-mode.el (css-property-alist)
29775         (css-value-class-alist): Add new property and value class from CSS
29776         Will Change Module.
29778 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
29780         Don't access pointers to freed storage in regex.c
29782         Remove __BOUNDED_POINTERS__ code, which does not work with
29783         -fcheck-pointer-bound and which has undefined behavior anyway.
29784         Problem found when trying to port to gcc -fcheck-pointer-bounds.
29785         (This code was removed from glibc and gnulib regex.c many years ago.)
29786         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
29787         (EXTEND_BUFFER): Use a more-portable approach that avoids
29788         undefined behavior due to inspecting pointers to freed storage.
29790 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
29792         Port build to gcc -fcheck-pointer-bounds
29794         This does not let Emacs run, just build.
29795         * lib-src/etags.c (main):
29796         * lib-src/profile.c (main):
29797         Use return, not exit.
29798         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
29799         Do not define, as -fcheck-pointer-bounds is incompatible with taking
29800         addresses of labels.
29801         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
29802         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
29804 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
29806         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
29808 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
29810         * lisp/rot13.el: Use lexical-binding
29812 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
29814         Add "using" to cl-loop debug spec (Bug#24750)
29816         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
29817         "using" hash table clause.
29819 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
29821         Allow user control of progress messages in cpp.el
29823         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
29824         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
29825         the doc string.
29826         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
29827         'message' to print messages.  (Bug#24861)
29829 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
29831         New input method 'polish-prefix'
29833         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
29834         method.  (Bug#24967)
29836         * etc/NEWS: Mention the new input method.
29838 2016-11-25  Damien Cassou  <damien@cassou.me>
29840         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
29842 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
29844         Add missing 'provide's in preloaded packages
29846         * lisp/composite.el:
29847         * lisp/replace.el:
29848         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
29850 2016-11-24  Alan Mackenzie  <acm@muc.de>
29852         Handle correctly an (undocumented) bare mode in hack-local-variables.
29854         lisp/files.el (hack-local-variables-prop-line): When a file's first line
29855         contains only a mode specification without the string "mode:", return the mode
29856         symbol only when `handle-mode' is t.
29858 2016-11-23  Dima Kogan  <dima@secretsauce.net>
29860         Clarify ediff-directories prompt
29862         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
29863         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
29864         ediff-directories3, ediff-merge-directories,
29865         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
29866         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
29867         filename filter in interactive ediff. The new message makes it clear what is
29868         being filtered
29870 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
29872         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
29874 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
29876         Fix Bug#24199.
29878         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
29879           bracket in doc string (make checkdoc happy).
29880           (icalendar-import-buffer),
29881           (icalendar-import-buffer),
29882           (icalendar--convert-ical-to-diary),
29883           (icalendar--add-diary-entry): Rename argument diary-file to
29884           diary-filename (make checkdoc happy).
29885           (icalendar--convert-recurring-to-diary): Take care of byday-clause
29886           in monthly recurring events.  Actually fix Bug#24199.
29888         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
29890 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
29892         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
29894 2016-11-22  Philipp Stephani  <phst@google.com>
29896         Comint: new user option for C-c M-r and C-c M-s
29898         This option allows the user to specify where to place point after these
29899         commands.
29901         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
29902         (comint-previous-matching-input-from-input): Use user option.
29904 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
29906         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
29908         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
29909         `eshell-first-time-mode-hook'.
29911 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
29913         Dump also connection local variables in Tramp bug reports
29915         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
29916         Dump also connection local variables.
29918 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29920         Make sure elided long buffer names have ellipses added (Bug#24972)
29922         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
29923         string concat, and chop "strvar" less the width of the ellipsis.
29924         (ibuffer-compile-make-substring-form): Add space as padding, to fix
29925         off-by-one in alignment.
29927 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
29929         Buffer-menu-no-header: Detect a fake header
29931         * lisp/buff-menu.el (Buffer-menu-no-header): Use
29932         'tabulated-list-header-overlay-p' (Bug#24855).
29934 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
29936         buff-menu: Add command to unmark all buffers
29938         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
29939         to unmark all buffers (Bug#24880).
29940         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
29941         New predicate; return non-nil if tabulated-list has a fake header.
29942         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
29943         New command; remove all flags that use a particular mark from all the lines.
29944         Bind it to 'M-DEL'.
29945         (Buffer-menu-unmark-all):
29946         New command; remove all flags from all the lines.  Bind it to 'U'.
29947         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
29948         (Buffer-menu-delete, Buffer-menu-mark): Use them.
29949         (Buffer-menu-mode-map): Update menus.
29950         (Buffer-menu-mode): Update mode doc.
29951         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
29952         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
29953         (bs-mode): Update mode doc.
29954         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
29955         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
29956         to 'M-DEL'.
29957         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
29958         Use point instead of cursor in doc string.
29959         (electric-buffer-list): Update mode doc.
29960         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
29961         and Buffer-menu-unmark-all-buffers.
29963 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29965         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
29967         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
29969 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29971         Port htmlfontify to cl-lib
29973         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
29974         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
29975         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
29976         instances of cl aliases with their cl-lib counterparts.
29978 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29980         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
29982 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
29984         Fix another CANNOT_DUMP problem
29986         Reported by Robert Pluim in:
29987         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
29988         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
29989         * src/lisp.h: ... to here.
29991 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
29993         Add further consideration to string-width (Bug#24972)
29995         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
29996         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
29998 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
30000         Don't collect strings existing out of <tr>...</tr>
30002         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
30003         Don't collect strings existing out of <tr>...</tr> to avoid
30004         duplication with what `shr-tag-table' renders.
30006 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
30008         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
30009         the last commit.
30011 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
30013         Add a variable to pass additional options to rcvstore
30015         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
30016         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
30017         the arguments that are passed to rcvstore.
30019         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
30020         and followups, i.e., ding mailing list.
30022 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30024         Fix undefined refs on some GNU/Linux hosts
30026         Problem reported by Ken Raeburn in:
30027         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
30028         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
30029         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
30030         removes unwanted references to my_endbss and my_endbss_static,
30031         which are not optimized away on some platforms.
30033 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30035         Make CANNOT_DUMP work better on GNU/Linux
30037         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
30038         lets the build succeed again, and fixes the testing framework so
30039         that most test cases now pass.  About twenty test cases still
30040         fail, though, and we still have Bug#24974.
30041         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
30042         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
30043         be any point to messing with a private memory allocator unless
30044         Emacs is dumping.
30045         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
30046         * src/image.c (reset_image_types):
30047         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
30048         Do not define if CANNOT_DUMP.
30049         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
30050         (daemon_pipe) [!WINDOWSNT]: Now static.
30051         * test/Makefile.in (mostlyclean): Remove *.tmp files.
30052         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
30054 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30056         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
30058 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30060         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
30062         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
30063         Do not define.  If defining, do it in a smaller scope.
30065 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
30067         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
30069 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
30071         Fix redrawing non-selected frame after resize on MS-Windows
30073         * src/xdisp.c (redisplay_internal): If all the frames were
30074         successfully updated, reset the "garbaged" flag of each frame, to
30075         make sure it doesn't stay set.
30077         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
30078         "garbaged", since expose_frame won't redraw the foreground then.
30079         (Bug#24642)
30081 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
30083         Add file-local-name
30085         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
30086         (Unique File Names): Use it.
30088         * etc/NEWS: Mention `file-local-name'.
30090         * lisp/files.el (file-local-name): New defun.
30091         (file-expand-wildcards):
30092         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
30093         * lisp/eshell/esh-ext.el (eshell-remote-command):
30094         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
30095         * lisp/org/ob-core.el (org-babel-local-file-name):
30096         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
30097         * lisp/progmodes/python.el (python-shell-send-file):
30098         * lisp/shell.el (shell):
30099         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
30100         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
30102 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
30104         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
30106 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
30108         * src/editfns.c (format-time-string): Mention %q in doc string.
30110 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
30112         Document format-time-string %q
30114         * doc/lispref/os.texi (Time Parsing):
30115         * etc/NEWS: Document new %q functionality taken from gnulib.
30117 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
30119         Merge from gnulib
30121         This incorporates:
30122         2016-11-15 sys_time: add gnulib::timeval for C++
30123         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
30124         2016-11-13 strftime: don't use __THROW
30125         2016-11-12 strftime: tune %q
30126         2016-11-12 Merge strftime.c changes from glibc
30127         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
30128         2016-11-05 strftime,strptime: support %q to represent the quarter
30130         The glibc changes in turn incorporate the following strftime.c changes:
30131         2015-10-20 Convert misc function definitions to prototype style
30132         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
30133         2010-01-09 Add support for XPG7 testing
30134         2009-10-30 Implement Burmese language locale for Myanmar
30135         2008-06-13 [BZ #6612] pass reference to tzset_called around
30136         2007-10-16 [BZ #5184] Add tzset_called argument
30138         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
30139         * m4/manywarnings.m4: Copy from gnulib.
30141 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
30143         Merge from origin/emacs-25
30145         07f45d7 ; Spelling fix
30146         1a210f0 * admin/release-process: Update versions and blocking bug num...
30147         36bafc9 Improve documentation of functions that accept time values
30149         # Conflicts:
30150         #       admin/release-process
30151         #       src/editfns.c
30153 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
30155         Merge from origin/emacs-25
30157         4af5981 Add a comment in generated refcards about the source
30158         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
30159         4887e7c js-mode: Fix indent problem after a regexp
30160         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
30161         1fc101b Don't confuse how Texinfo outputs @var with the input
30162         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
30163         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
30164         5b0cddd More fixes in copyright notices in etc/refcards/
30165         f994c20 Update copyright text in refcards
30166         9ad2ae7 Fix Outline command names
30167         26c3554 Send text received by bracketed paste to process
30168         db0b58d Correct the statement about programming modes always running ...
30169         78aece4 Improve documentation of 'occur'
30170         eb364fd Do call debugger on failed cl-assert
30171         3ef4ee8 Avoid infloop in python
30172         8da810f Don't refer to obsolete FEATURE-unload-hook
30173         4f478ca Improve documentation of dabbrevs
30174         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
30175         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
30176         3b199f7 Improve documentation of some Help commands
30177         93d3a0e Fix documentation of yes-or-no prompts
30178         af04919 Fix documentation of partial completion style
30179         ed80184 Fix documentation of the mode line on emacsclient frames
30180         e6be855 Fix description of 'C-z' in User manual
30181         16f7007 Improve and clarify documentation of Outline Mode
30182         31d93aa Add Emacs version number to nt/README.W32
30183         0b6b815 Fix python-mode hideshow regexp
30184         dc152c5 Modernize usage of 'macOS' in doc and comments
30185         84c5343 Prefer comments /* like this */ in C code
30186         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
30187         3ef86fd Clarify documentation of face attribute functions
30188         de51d59 ; * nt/README.W32: Minor copyedits.
30189         db436e9 Don't call debug on failed cl-assert
30191         # Conflicts:
30192         #       doc/emacs/cmdargs.texi
30193         #       etc/NEWS
30194         #       etc/PROBLEMS
30195         #       lisp/auth-source.el
30196         #       lisp/net/tramp-sh.el
30198 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
30200         Port RefTeX to cl-lib
30202         * lisp/textmodes/reftex-auc.el:
30203         * lisp/textmodes/reftex-cite.el: Use cl-lib.
30204         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
30205         macros.
30206         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
30207         (reftex-view-regexp-match): Substitute cl-lib macro.
30208         * lisp/textmodes/reftex-global.el: Use cl-lib.
30209         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
30210         (reftex-translate): Substitute cl-lib macros.
30211         * lisp/textmodes/reftex-index.el: Use cl-lib.
30212         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
30213         (reftex-index-next-phrase, reftex-index-phrases-info):
30214         (reftex-query-index-phrase): Substitute cl-lib macros.
30215         * lisp/textmodes/reftex-parse.el: Use cl-lib.
30216         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
30217         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
30218         Substitute cl-lib macros.
30219         * lisp/textmodes/reftex-ref.el: Use cl-lib.
30220         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
30221         macros.
30222         * lisp/textmodes/reftex-sel.el: Use cl-lib.
30223         (reftex-select-shared-map): Set keymap parent to special-mode-map.
30224         Flatten loop and remove digits and hyphen definitions from the map.
30225         (reftex-select-label-mode-map):
30226         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
30227         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
30228         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
30229         cl-pushnew.
30230         * lisp/textmodes/reftex.el: Use cl-lib.
30231         (reftex-docstruct-symbol): Use cl-incf.
30232         (reftex-ref-style-toggle): Replace add-to-list with append.
30233         (reftex-compile-variables): Use cl-lib macros, and functions with
30234         compiler macros. cl-first is just an alias.
30235         (reftex-parse-args, reftex-scanning-info-available-p):
30236         (reftex-select-external-document, reftex-get-file-buffer-force): Use
30237         cl-lib macros.
30238         (reftex-isearch-minor-mode): Replace add-to-list with append.
30240 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
30242         ibuffer-exchange-filters: Simplify code
30244         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
30246 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
30248         Implement getrlimit and setrlimit for MS-Windows
30250         * src/w32heap.c (getrlimit, setrlimit): New functions.
30251         Include w32.h.
30252         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
30253         should be compatible with 'struct rlimit' members.
30255         * nt/inc/sys/resource.h: New header file.
30257         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
30258         Set to "yes".
30260 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
30262         Move key mappings into reftex-mode-map defvar
30264         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
30265         key mappings.
30266         (reftex-reset-mode): Just use dolist.
30268 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
30270         Derive reftex-index-mode from special-mode
30272         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
30273         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
30274         from special-mode now.
30275         (reftex-index-mode): Derive from special-mode.
30276         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
30278 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
30280         Clean up reftex-toc-mode-map
30282         * lisp/textmodes/reftex-toc.el: Remove cl.
30283         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
30284         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
30286 2016-11-18  Philipp Stephani  <phst@google.com>
30288         Prevent dubious argument lists
30290         See Bug#24912 and Bug#24913.
30292         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
30293         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
30294         more dubious argument lists.
30295         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
30296         test.
30298 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
30300         Add test suite for buff-menu.el
30302         * test/lisp/buff-menu-tests.el: New file.
30303         (buff-menu-24962): Add test for Bug#24962.
30305 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
30307         Add cyrillic-tuvan input method
30309         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
30310         method.  (Bug#24942)
30312         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
30314 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
30316         Extend 'indent-relative' when its arg is non-nil
30318         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
30319         (indent-relative-first-indent-point): Renamed from
30320         'indent-relative-maybe'.
30321         (indent-relative): Now accepts an additional optional argument.
30322         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
30323         the additional arg.  (Bug#24766)
30325 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
30327         Add example for bug#24854
30329         * test/manual/indent/js.js: Add example for bug#24854.
30331 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
30333         Port registry.el the rest of the way to cl-lib
30335         This file already is using cl-lib functions at runtime; eieio ultimately
30336         loads cl-lib, which explains why doing so wasn't an issue.
30337         * lisp/registry.el: Require cl-lib.
30338         (registry-db, registry--match, registry-search, registry-delete):
30339         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
30340         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
30342 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
30344         Fix arglist in python.el (Bug#24762)
30346         * lisp/progmodes/python.el: Remove unneeded second args.
30347         (python-define-auxiliary-skeleton): DOC arg should be &optional.
30349 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
30351         Add tests for rot13.el
30353         * lisp/rot13.el (rot13): Docstring correction.
30355         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
30357 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
30359         Fix Bug#24947 (Tramp + ido)
30361         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
30363         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
30364         Run remote tests only if a connection is established only.  (Bug#24947)
30366 2016-11-16  Ken Brown  <kbrown@cornell.edu>
30368         Unbreak the build on Darwin (Bug#24957)
30370         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
30371         mistakes in recent commit.
30373 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
30375         Do not use map.el in seq-tests.el
30377         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
30378         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
30379         Emacs 24.5.
30381 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
30383         Update parameter :version to 26.1 in several defcustom
30385         Following defcustom where added or modified for 25.2 release.
30386         In fact all these changes belong to 26.1 release.
30387         * lisp/battery.el (battery-linux-sysfs-regexp)
30388         * lisp/comint.el (comint-password-prompt-regexp)
30389         * lisp/dired.el (dired-always-read-filesystem)
30390         * lisp/image.el (image-scaling-factor)
30391         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
30392         (ibuffer-never-search-content-mode)
30393         * lisp/mouse.el (mouse-select-region-move-to-beginning)
30394         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
30395         (netstat-program, route-program, route-program-options)
30396         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
30397         * lisp/progmodes/grep.el (grep-save-buffers)
30398         * lisp/vc/add-log.el (change-log-directory-files)
30399         * lisp/url/url-vars.el (url-user-agent)
30400         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
30401         (vc-hg-use-file-version-for-mode-line-version)
30402         (vc-hg-parse-hg-data-structures)
30403         * lisp/wdired.el (wdired-create-parent-directories)
30404         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
30405         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
30406         (gnus-button-url-regexp)
30407         * lisp/window.el (switch-to-buffer-preserve-window-point)
30408         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
30409         (ibuffer-locked-buffer)
30410         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
30411         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
30412         * lisp/gnus/message.el (message-user-fqdn)
30413         * lisp/simple.el (shell-command-dont-erase-buffer)
30414         (extended-command-suggest-shorter)
30415         * lisp/net/shr.el (shr-use-fonts)
30416         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
30418 2016-11-15  Glenn Morris  <rgm@gnu.org>
30420         Add --new-daemon, which runs in the foreground and does not fork
30422         This is intended for modern init systems such as systemd,
30423         which manage many of the traditional aspects of daemon behavior
30424         themselves.  (Bug#2677)
30425         * src/emacs.c (daemon_type): New integer.
30426         (usage, standard_args): Add --old-daemon and --new-daemon.
30427         (main): Handle --old-daemon and --new-daemon arguments.
30428         Restrict all the forking and complicated daemon stuff to old-daemon.
30429         (Fdaemon_initialized): Handle new-style daemon.
30430         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
30431         Replace daemon_pipe with daemon_type.
30432         * doc/emacs/cmdargs.texi (Initial Options):
30433         * doc/emacs/glossary.texi (Glossary):
30434         * doc/emacs/misc.texi (Emacs Server):
30435         * doc/lispref/display.texi (Window Systems):
30436         * doc/lispref/os.texi (Startup Summary): Related doc updates.
30437         * etc/NEWS: Mention this.
30438         * etc/emacs.service: Use Type=simple and --new-daemon.
30440 2016-11-15  Glenn Morris  <rgm@gnu.org>
30442         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
30443         * doc/man/emacs.1.in: Likewise.
30445 2016-11-15  Ken Brown  <kbrown@cornell.edu>
30447         Simplify case-insensitivity checks on Mac OS X
30449         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
30450         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
30451         Leave in two alternatives conditionally compiled based on
30452         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
30454         * etc/PROBLEMS: Mention the possible problem with pathconf on
30455         Mac OS X.
30457 2016-11-15  Glenn Morris  <rgm@gnu.org>
30459         * src/emacs.c (sort_args): Warn about multiple matches.
30461 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
30463         Implement file name handler for `file-name-case-insensitive-p'
30465         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
30466         is also applicable for remote hosts.
30468         * lisp/net/tramp.el (tramp-methods): Improve docstring.
30469         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
30470         (tramp-handle-file-name-case-insensitive-p): New defun.
30472         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
30473         Add `tramp-case-insensitive' entry.
30475         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
30476         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
30477         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
30478         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
30479         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
30481 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
30483         Nix more uses of default-FOO variables (Bug#24946)
30485         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
30486         Check for header-line-format instead.
30487         * lisp/emulation/viper.el (viper-load-custom-file): Reference
30488         major-mode instead.
30489         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
30490         fill-column instead.
30492 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
30494         Complete the name of PostgreSQL databases
30496         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
30497         name.
30498         (sql-postgres-list-databases): New function returning a list of
30499         available PostgreSQL databases.
30501         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
30503 2016-11-14  Sam Steingold  <sds@gnu.org>
30505         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
30507         When `vc-git-print-log-follow' is true and all files are
30508         non-directory, pass "--follow" to "git log".
30509         This works around bug#8756 and bug#16422.
30511 2016-11-14  Sam Steingold  <sds@gnu.org>
30513         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
30515         vc-git-print-log: pass "--follow" to "log" to handle renamed files
30517 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
30519         Revert "Improve case-insensitive checks (Bug#24441)"
30521         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
30522         I see no reason for removing code, documentation, and comments
30523         in the original commit.
30525 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
30527         Update verilog-mode.el
30529         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
30530         (verilog-calc-1): Fix "default clocking" indentation and
30531         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
30532         (verilog-diff-report): Fix `verilog-diff-report'
30533         not returning bad status on differences, bug1087.  Reported by
30534         Eric Jackowski.
30535         (verilog-auto-inst-param-value)
30536         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
30537         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
30538         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
30539         (verilog-read-sub-decls-type): When
30540         `verilog-auto-inst-param-value-type' is set, which is now the
30541         default, AUTOINPUT etc will now substitute parameter types from
30542         submodules, bug1061.  Reported by Brad Dobbie.
30543         (verilog-auto-reset, verilog-backward-case-item)
30544         (verilog-extended-case-re, verilog-read-always-signals-recurse):
30545         Fix indentation of randcase, bug1072. Reported by David Rogoff.
30546         (verilog-read-sub-decls-expr)
30547         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
30548         in generated comments, bug1057. Reported by Kaushal Modi.
30549         (verilog-auto-wire-comment, verilog-insert-definition):
30550         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
30551         Eric Jackowski.
30552         (verilog-extended-complete-re): Fix indentation
30553         of class static functions, bug1053. Reported by Gregory
30554         Czajkowski.
30555         (verilog-module-filenames): Support tramp for
30556         finding verilog modules. Reported by Nevada Sanchez.
30558 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
30560         Improve case-insensitive checks (Bug#24441)
30562         * doc/lispref/files.texi (Truenames): Simplify documentation,
30563         to avoid giving too much platform-specific information that
30564         may not be accurate anyway.
30565         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
30566         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
30567         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
30568         back on an alternative rather than returning false.  Try skipping
30569         the Darwin code, as it (1) no longer seems to be needed and (2)
30570         does not seem to match the Apple documentation.  Leave in two
30571         alternatives conditionally compiled based on
30572         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
30574 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
30576         Fix documentation changes of connection-local variables
30578         * etc/NEWS: Fix last change.
30579         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
30580         * doc/lispref/elisp.texi (Top): Update the master menu.
30582 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
30584         Implement connection-local variables
30586         * doc/lispref/variables.texi (Connection Local Variables): New section.
30588         * etc/NEWS: Mention connection-local variables.
30590         * lisp/files-x.el (enable-connection-local-variables)
30591         (connection-local-variables-alist, connection-local-class-alist)
30592         (connection-local-criteria-alist): New defvars.
30593         (connection-local-get-classes)
30594         (connection-local-get-class-variables): New defsubst.
30595         (connection-local-set-classes)
30596         (connection-local-set-class-variables)
30597         (hack-connection-local-variables)
30598         (hack-connection-local-variables-apply): New defuns.
30599         (with-connection-local-classes): New defmacro.
30601         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
30603         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
30604         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
30605         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30606         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
30608         * test/lisp/files-x-tests.el: New file.
30610 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
30612         tabulated-list: extend truncation into next align-right column
30614         See discussion on:
30615         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
30616         * lisp/emacs-lisp/tabulated-list.el
30617         (tabulated-list--near-rows): New variable.
30618         (tabulated-list-print, tabulated-list-set-col): Use it.
30619         (tabulated-list--col-local-max-widths): New defsubst.
30620         (tabulated-list-print-col): Use it.  If the next column is
30621         align-right, and has some space left then don't truncate to width,
30622         use some of the available space from the next column.
30624 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
30626         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
30628         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
30629         (shr-collect-extra-strings-in-table): Render images as well.
30631 2016-11-13  Ken Brown  <kbrown@cornell.edu>
30633         Use the new 'file-name-case-insensitive-p' function
30635         * lisp/international/mule.el (auto-coding-alist-lookup):
30636         * lisp/files.el (file-truename):
30637         (abbreviate-file-name, set-auto-mode, file-relative-name):
30638         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
30639         'file-name-case-insensitive-p' instead of 'system-type' to test
30640         case-insensitivity.
30642 2016-11-13  Glenn Morris  <rgm@gnu.org>
30644         Include a systemd user unit file.  (Bug#16507)
30646         * etc/emacs.service: New file.
30647         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
30648         * Makefile.in (libdir): New, set by configure.
30649         (systemdunitdir): New variable.
30650         (install-etc, uninstall): Handle the emacs.service file.
30652 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
30654         Port --enable-gcc-warnings to Ubuntu 16.10
30656         * src/gmalloc.c: Include <stdlib.h>, so it declares
30657         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
30658         so that GCC doesn't complain that hybrid_aligned_alloc is
30659         defined without being declared.
30661 2016-11-13  Ken Brown  <kbrown@cornell.edu>
30663         Silence tramp warning
30665         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
30666         'file-name-case-insensitive-p' as a known file primitive.
30667         (Bug#24936)
30669 2016-11-12  Ken Brown  <kbrown@cornell.edu>
30671         Check case-sensitivity when renaming files
30673         * src/fileio.c (file_name_case_insensitive_p)
30674         (Ffile_name_case_insensitive_p):  New functions.
30675         (Frename_file): Allow renames that simply change case when the
30676         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
30678         * lisp/dired-aux.el (dired-do-create-files): Use
30679         'file-name-case-insensitive-p' instead of 'system-type' to check
30680         for case-insensitivity.  (Bug#24441)
30682         * doc/lispref/files.texi (Truenames): Document
30683         'file-name-case-insensitive-p'.
30685 2016-11-12  Ken Brown  <kbrown@cornell.edu>
30687         Unbreak the build on Cygwin
30689         * configure.ac (system_malloc) [CYGWIN]: Unset.
30691 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
30693         Update chart.el
30695         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
30696         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
30697         fixed number of newlines, use window-height.
30698         (chart-bar):
30699         (chart-trim): Use dolist.
30700         (chart-file-count): The previous implementation was buggy and missed
30701         extensions.  Use file-name-extension instead to detect file extensions.
30702         Also use dolist and cl-incf to reduce verbosity.
30704 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
30706         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
30707         (shr-collect-extra-strings-in-table):
30708         Render extra tables in an invalid html as well.
30710 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
30712         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
30714 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
30716         Resurrect 'memory-limit' on MS-Windows
30718         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
30719         'memory-limit' will produce a trivial and useless result on Windows.
30721 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
30723         Update quickurl.el
30725         * lisp/net/quickurl.el (quickurl-format-function):
30726         (quickurl-sort-function): Use named function.
30727         (quickurl-list-mode-map): Remove lines that are extraneous now that the
30728         parent mode is special-mode.
30729         (quickurl-format-url, quickurl-sort-urls): New functions.
30730         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
30731         be used.
30732         (quickurl-list-mode): Derive from special-mode.  Nix setting
30733         buffer-read-only: special-mode does that.
30734         (quickurl-list-populate-buffer): Use dolist instead.
30735         (quickurl-list-quit): Use quit-window.  It looks like this was written
30736         before the quit-window rewrite.  quit-window is very useful now.
30738 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
30740         Refine multi-hop specs in Tramp
30742         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
30744         * test/lisp/net/tramp-tests.el
30745         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
30746         method.  "/h:" is allowed on non MS Windows.
30748 2016-11-08  Daniel Colascione  <dancol@dancol.org>
30750         Avoid infloop in python
30752         Fix bug#24905
30754         * lisp/progmodes/python.el (python-info-docstring-p): Improve
30755         infloop avoidance: replace (bobp) with generic test for
30756         forward progress.
30757         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
30758         test for bug#24905
30760 2016-11-08  Daniel Colascione  <dancol@dancol.org>
30762         Make gnus/message.el work correctly under lexical binding
30764         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
30765         `_' to shut up the byte compiler.
30766         (sha1-maximum-internal-length, smtpmail-smtp-server)
30767         (smtpmail-smtp-service): add missing defvars
30769 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
30771         Fix Bug#24889
30773         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
30774         defvar.  Fix docstring.
30775         (tramp-completion-file-name-handler-alist): Fix docstring.
30776         (tramp-register-file-name-handlers): Reassign
30777         `tramp-file-name-regexp' to the car of
30778         `tramp-file-name-structure'.  (Bug#24889)
30780 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
30782         Port to FreeBSD 11 AMD
30784         Problem reported by Ashish Shukla (Bug#24892).  I tested
30785         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
30786         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
30787         (sbrk): Check whether it exists.
30788         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
30789         Do not define, since this function is now used only on GNU/Linux,
30790         and sbrk might not exist on other platforms.
30791         (malloc_initialize_hook) [!GNU_LINUX]:
30792         Do not call my_heap_start, since its side effect will never be used.
30793         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
30794         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
30795         sbrk exists.
30797 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
30799         Port emacsclient to FreeBSD 11 etc.
30801         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
30802         platforms like FreeBSD 11 that use code involving strlen etc., and
30803         because <config.h> no longer includes string.h.
30805 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
30807         Prescribe history for read-regexp in query-replace
30809         In the fix for bug#24580, the history argument for read-regexp was
30810         removed erroneously; read-regexp's history argument defaults to
30811         regexp-history, not minibuffer-history.
30812         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
30813         minibuffer-history.  Fixes bug#24873.
30815 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
30817         Remove obsolete default-FOO variables
30819         * etc/NEWS: Indicate the removed variables.
30820         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
30821         * lisp/subr.el (default-mode-line-format, default-header-line-format):
30822         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30823         (default-truncate-lines, default-left-margin, default-tab-width):
30824         (default-case-fold-search, default-left-margin-width):
30825         (default-right-margin-width, default-left-fringe-width):
30826         (default-right-fringe-width, default-fringes-outside-margins):
30827         (default-scroll-bar-width, default-vertical-scroll-bar):
30828         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30829         (default-fringe-indicator-alist, default-fringe-cursor-alist):
30830         (default-scroll-up-aggressively, default-scroll-down-aggressively):
30831         (default-fill-column, default-cursor-type):
30832         (default-cursor-in-non-selected-windows):
30833         (default-buffer-file-coding-system, default-major-mode):
30834         (default-enable-multibyte-characters): Remove obsolete declarations.
30835         * src/buffer.c (default-mode-line-format, default-header-line-format):
30836         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30837         (default-truncate-lines, default-left-margin, default-tab-width):
30838         (default-case-fold-search, default-left-margin-width):
30839         (default-right-margin-width, default-left-fringe-width):
30840         (default-right-fringe-width, default-fringes-outside-margins):
30841         (default-scroll-bar-width, default-vertical-scroll-bar):
30842         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30843         (default-fringe-indicator-alist, default-fringe-cursor-alist):
30844         (default-scroll-up-aggressively, default-scroll-down-aggressively):
30845         (default-fill-column, default-cursor-type):
30846         (default-cursor-in-non-selected-windows):
30847         (default-buffer-file-coding-system, default-major-mode):
30848         (default-enable-multibyte-characters): Remove.
30849         * src/fileio.c (choose_write_coding_system): Fix comment.
30850         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
30852 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
30854         Improve the tutorial
30856         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
30857         * etc/tutorials/TUTORIAL.he: Follow suit.
30859 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
30861         Restore file descriptor limit in subprocesses
30863         Problem reported by Philipp Stephani (Bug#24869).
30864         * src/callproc.c (child_setup) [!DOS_NT]:
30865         Call restore_nofile_limit in the child.
30866         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
30867         (restore_nofile_limit): New function.
30868         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
30870 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
30872         Remove some subr.el functions obsoleted in 22.1
30874         * etc/NEWS: Document removed functions.  Also mention the "face"
30875         variables that have been removed recently.
30876         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
30877         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
30879 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30881         Prefer comments /* like this */ in C code
30883 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
30885         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
30887 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
30889         Support zstd compressed files
30891         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
30892         zstd compression info: <http://facebook.github.io/zstd/>.
30893         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
30894         compressed tar archives.  (Bug#24853)
30896 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
30898         Enlarge DUMPED_HEAP_SIZE
30900         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
30901         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
30903 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30905         Update from gnulib
30907         This incorporates:
30908         2016-11-03 intprops: port to older XL C
30909         * lib/intprops.h: Copy from gnulib.
30911 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30913         Merge from origin/emacs-25
30915         acae275 ; Spelling fixes
30916         d8fac73 Update README for precompiled windows Emacs.
30917         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
30918         f708cb2 Clarify doc string of 'transpose-sexps'
30919         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
30920         bdc89eb Improve documentation of 'font-lock-remove-keywords'
30921         4a0c590 Fix documentation of the command summary key
30922         0221b7a Mark relocation workarounds with REL_ALLOC
30924 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30926         Merge from origin/emacs-25
30928         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
30929         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
30930         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
30931         9c247d2 Update category-table for Chinese characters
30932         43986d1 Inhibit buffer relocation during regex searches
30933         fee4cef Revert fixes to allocation of regex matching
30935 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
30937         Fix references to long obsoleted functions/aliases
30939         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
30940         * doc/misc/cl.texi (Conditionals):
30941         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
30942         not string-to-int.
30943         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
30944         default-major-mode.
30945         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
30946         here is not a function call, but shorten the binding names anyways.
30947         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
30948         Bug#22244.
30949         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
30950         read-input.
30952 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
30954         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
30956 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
30958         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
30959         that gathers extra strings in an invalid html.  (bug#24831)
30960         (shr-tag-table): Use it.
30962 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
30964         Add 'x-ctrl-keysym' support on X window system
30966         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
30967         Support 'x-ctrl-keysym'.
30968         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
30969         property on it.
30970         <x-ctrl-keysym>: New DEFVAR_LISP.
30971         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
30972         fix.  (Bug#24822)
30974         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
30976         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
30978 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
30980         Improve autoload error reporting
30982         * src/eval.c (Fautoload_do_load): Include the absolute file name
30983         in the error message.
30985 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30987         Stop force parameter of whitespace-report-region having global effect
30989         * lisp/whitespace.el (whitespace-report-region): Force parameter
30990         previously changed whitespace-style globally.  Fix this, and use
30991         whitespace-active-style, to take account of any changes the user may
30992         have made.  Simplify the documentation: the force parameter simply
30993         forces all classes of whitespace problem to be considered.
30994         (Bug#24745)
30996 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
30998         Document use of `tab-width'
31000         * lisp/whitespace.el: When talking about `8 or more spaces', mention
31001         `tab-width' instead of 8.  (Bug#24745)
31003 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
31005         Make whitespace-report-region respect current settings
31007         * lisp/whitespace.el (whitespace-report-region): Make it respect
31008         whitespace-style, including any additions made by the force parameter.
31009         This means that the function does not return t unless a whitespace
31010         problem that the user cares about is reported.  (Bug#24745)
31012 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
31014         Fix whitespace-space-after-tab-regexp
31016         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
31017         (whitespace-regexp): Match all the spaces after tabs for highlighting,
31018         not just the first tab-width.  Fix whitespace-space-after-tab::space
31019         version so that it requires at least tab-width spaces, not just 1.
31020         (Bug#24745)
31022 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
31024         Remove duplicate documentation
31026         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
31027           section which duplicate and in some places contradict (due to being
31028           out of date) the docstrings (Bug#24745).
31030 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
31032         Fix bob/eob checks
31034         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
31035         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
31036         work at beginning & end of buffer in whitespace-report-region, and only
31037         there (i.e. they will never match in regions that don't include the
31038         start or end of the buffer).  (Bug#24745)
31040 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
31042         (thing-at-point 'list) return nil if no list at point
31044         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
31045         Check first if we are at the beginning of a top-level sexp (Bug#24627).
31046         If point is inside a comment or string, look for a list out of the
31047         comment/string.
31048         Escape '[' in doc string.
31049         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
31050         expected test result as pass.
31052 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
31054         Remove antlr face aliases obsoleted in 22.1
31056         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
31057         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
31058         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
31059         (antlr-tokenref-face, antlr-literal-face):
31060         (antlr-literal-face): Remove.
31061         (antlr-font-lock-additional-keywords): Use face symbols instead.
31063 2016-11-02  Daniel Colascione  <dancol@dancol.org>
31065         Revert "Disable bracketed paste in a terminal in char mode"
31067         This change causes regressions, and besides, disabling BPM frame-wide
31068         for the sake of one buffer is the wrong solution.
31070         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
31072 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
31074         Revert change to eww-suggest-uris
31076         The introduced append is ugly and can yield '(nil); doing delq on it
31077         would be hacks on hacks.
31078         * lisp/net/eww.el: Require cl-lib at run time.
31079         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
31080         (eww): Remove erroneous append.
31081         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
31082         equal to eww-current-url, which is nil anyways if we are not in an EWW
31083         buffer.
31085 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
31087         Add eww-open-in-new-buffer to EWW
31089         * doc/misc/eww.texi (Basic): Document new command and key.
31090         * etc/NEWS: Mention new key and its purpose.
31091         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
31092         (eww): Append (eww-current-url) to the prompt defaults.
31093         (eww-open-in-new-buffer): New command.
31094         (eww-mode-map): Bind it and add a menu item.
31096 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
31098         Migrate auth-source to cl-lib
31100         * lisp/auth-source.el: Use cl-lib.
31101         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
31102         (auth-source-search): Replace cl calls with cl-lib ones.
31103         (auth-source-netrc-cache):
31104         (auth-source-forget+): Use cl-do-symbols instead.
31105         (auth-source-specmatchp, auth-source-netrc-parse):
31106         (auth-source-netrc-search, auth-source-netrc-create):
31107         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
31108         (auth-source-secrets-search, auth-source-secrets-create):
31109         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
31110         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
31111         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
31113 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
31115         Don't segfault on timed-out TLS connections
31117         * src/process.c (finish_after_tls_connection): Check that the
31118         file descriptor is still alive before proceeding (bug#24811).
31119         Also clean up the code slightly.
31121 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
31123         Support 'TARGETS' in clipboard selections on MS-Windows
31125         * src/w32select.c (Fw32_selection_targets): New function.
31127         * lisp/term/w32-win.el (w32--get-selection): Call
31128         'w32-selection-targets' to obtain the list of data formats
31129         available in the clipboard.
31131 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
31133         Fix documentation for 'eudc-options-file'
31135         * doc/misc/eudc.texi (The Server Hotlist): Update the default
31136         value of 'eudc-options-file'.
31138 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
31140         Fix documentation of 'eudc-inline-expansion-format'
31142         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
31143         'eudc-inline-expansion-format'. (Bug#24840)
31145 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
31147         Turn on lexical-binding in some more libs
31149         * lisp/calendar/icalendar.el:
31150         * lisp/emacs-lisp/regexp-opt.el:
31151         * lisp/emacs-lisp/timer.el:
31152         * lisp/gnus/message.el:
31153         * lisp/hex-util.el: Turn on lexical-binding.
31155 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
31157         Turn on lexical-binding in some net libs
31159         * lisp/net/dbus.el: Turn on lexical-binding.
31160         (dbus-list-hash-table, dbus-list-known-names):
31161         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
31162         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
31163         (dbus-introspect-get-property-names):
31164         (dbus-introspect-get-argument-names, dbus-get-all-properties):
31165         (dbus-property-handler, dbus-get-all-managed-objects):
31166         (dbus-managed-object-handler): Replace add-to-list with push. Add
31167         nreverse in some places where the APPEND argument of add-to-list was
31168         used.
31169         * lisp/net/network-stream.el: Turn on lexical-binding.
31170         * lisp/net/newsticker.el: Turn on lexical-binding.
31171         * lisp/net/shr.el: Turn on lexical-binding.
31172         (shr-make-placeholder-image): Remove unused variable binding.
31173         (shr-inspect-table): Replace ignored bindings with underscore.
31175 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
31177         Turn on lexical-binding in some url libs
31179         * lisp/url/url-auth.el:
31180         * lisp/url/url-expand.el:
31181         * lisp/url/url-future.el:
31182         * lisp/url/url-parse.el:
31183         * lisp/url/url-util.el: Turn on lexical-binding.
31185 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
31187         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
31189         (Bug#24733)
31191 2016-10-30  Alan Mackenzie  <acm@muc.de>
31193         Handle chars of syntax word which are also flagged as comment delimiters
31195         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
31196         as the start/end of two char comment delimiters, recognize a comment delimiter
31197         in preference to a portion of a word.  This fixes bug #24767.
31199 2016-10-29  Daniel Colascione  <dancol@dancol.org>
31201         Speed up initialization by preferring /dev/urandom to GnuTLS
31203         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
31205 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
31207         Quote file names in dired compression commands
31209         * lisp/dired-aux.el (dired-do-compress-to): Change the string
31210         used as shell command for compression by quoting the filenames
31211         used for input and output (Bug #24620).
31213 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
31215         Avoid errors in posn-at-point for large images
31217         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
31218         returns a 6-member list for a partially visible glyph, pass the
31219         sum of Y and RTOP to posn-at-x-y, since that's where the visible
31220         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
31221         (Bug#23809)
31223 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
31225         Unbreak MS-Windows build
31227         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
31228         name is "wignore".
31229         (x_set_cursor_gc, x_set_mouse_face_gc)
31230         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
31231         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
31232         use s->window, which doesn't exist anymore.
31234         * src/w32term.h (XCreateGC): Adjust prototype.
31236 2016-10-28  Daniel Colascione  <dancol@dancol.org>
31238         Add double-buffering support to reduce flicker
31240         * src/dispextern.h (struct glyph_string): Remove window member
31241         (block_buffer_flips, unblock_buffer_flips)
31242         (buffer_flipping_blocked_p): Declare.
31244         * src/xterm.h (struct x_display_info): New member supports_xdbe.
31245         (struct x_output): New members draw_desc and need_buffer_flip.
31246         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
31247         (FRAME_X_DOUBLE_BUFFERED_P)
31248         (FRAME_X_NEED_BUFFER_FLIP): New macros.
31249         (set_up_x_back_buffer, tear_down_x_back_buffer)
31250         (initial_set_up_x_back_buffer): Declare.
31252         * src/xterm.c: Include Xdbe.h.
31253         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
31254         (x_draw_vertical_window_border, x_update_end)
31255         (x_setup_relief_color, x_draw_relief_rect)
31256         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
31257         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
31258         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
31259         variables appropriately; substitute calls to XClearArea with
31260         x_clear_area, which DTRT for double buffering.
31261         (x_clear_window, x_clear_area): In double-buffering mode, use
31262         rect-drawing X functions instead of XClearWindow and
31263         XClearArea, which always operate on the front buffer.
31264         (show_back_buffer): New function.
31265         (XTframe_up_to_date): Call show_back_buffer when done.
31266         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
31267         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
31268         now independent X windows.
31269         (handle_one_xevent): Call font_drop_xrender_surfaces when
31270         XftDraw might need regenerating; perform buffer flip when
31271         responding to Expose events; issue front-buffer clearing
31272         commands as stopgap while we wait for redisplay.
31273         Call flush_dirty_back_buffers.
31274         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
31275         earlier in function.
31276         (x_free_frame_resources): Call tear_down_x_back_buffer when
31277         destroying frame.
31278         (x_term_init): Attempt to initialize double buffer extension.
31279         (x_flip_and_flush): New function.
31280         (x_redisplay_interface): Point to x_flip_and_flush instead of
31281         x_flip directly.
31282         (flush_dirty_back_buffers): New function.
31283         (x_create_terminal): Register buffer_flipping_unblocked_hook.
31285         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
31286         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31287         (xftfont_draw): Call x_mark_frame_dirty.
31288         (xftfont_drop_xrender_surfaces): New function.
31289         (syms_of_xftfont): Register it.
31291         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
31292         FRAME_X_WINDOW.
31294         * src/xfns.c: Include Xdbe.h.
31295         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
31296         (Fx_double_buffered_p): New functions.
31297         (x_window): Call initial_set_up_x_back_buffer.
31298         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31299         (Fx_create_frame): Configure `inhibit-double-buffering'
31300         frame parameter.
31301         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
31302         (x_frame_parm_handlers): Register
31303         x_set_inhibit_double_buffering.
31304         (syms_of_xfns): Register Sx_double_buffered_p.
31305         (x_mark_frame_dirty): Define.
31307         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
31308         FRAME_X_WINDOW.
31310         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
31311         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31312         (redisplay_internal): Restart redisplay if a frame is garbaged
31313         during updating; explain why. Block buffer flips
31314         during redisplay.
31315         (redisplay_preserve_echo_area): Block buffer flip during call
31316         to redisplay_internal.
31317         (buffer_flip_blocked_depth): New variable.
31318         (block_buffer_flips, unblock_buffer_flips)
31319         (buffer_flipping_blocked_p): New functions.
31320         (init_glyph_string): Stop setting window member of struct
31321         glyph_string.
31323         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
31324         x_set_inhibit_double_buffering.
31326         * src/termhooks.h (struct terminal): Add
31327         buffer_flipping_unblocked_hook.
31329         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
31330         x_set_inhibit_double_buffering.
31332         * src/image.c (x_create_bitmap_from_data)
31333         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
31334         (Create_Pixmap_From_Bitmap_Data)
31335         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
31336         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
31337         variables appropriately.
31339         * src/gtkutil.c: Include Xdbe.h.
31340         (xg_get_widget_from_map): Forward declare.
31341         (xg_clear_under_internal_border): Remove obsolete calls to
31342         refresh scroll bars.
31343         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
31344         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
31345         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
31346         same reason.
31347         (xg_set_background_color): Set scroll bar background colors.
31348         (xg_finish_scroll_bar_creation): New function with common
31349         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
31350         scroll bars to be real X11 windows.
31351         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
31352         xg_finish_scroll_bar_creation.
31353         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
31354         Remove obsolete calls to refresh scroll bars; fix comments.
31356         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
31357         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
31358         FRAME_X_WINDOW.
31360         * src/frame.c (frame_parms): Add table entry for new
31361         `inhibit-double-buffering' frame parameter
31362         (syms_of_frame): Register Qinhibit_double_buffering.
31364         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
31365         (font_drop_xrender_surfaces): Declare.
31367         * src/font.c (font_drop_xrender_surfaces): New function.
31369         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
31371         * etc/NEWS: Mention use of double buffering
31373         * doc/lispref/frames.texi (Management Parameters): Document
31374         `inhibit-double-buffering' frame parameters.
31375         (Visibility of Frames): Document `x-double-buffered-p'.
31377         * configure.ac: Check for the X double buffer extension
31379 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
31381         Improve result of `auth-source-search' in Tramp
31383         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
31384         :user in result of `auth-source-search'.
31386 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
31388         Fix avl-tree alias docstrings
31390         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
31391         (avl-tree-stack-p, avl-tree-create):
31392         (avl-tree-compare-function): Add calling convention to docstrings.
31394 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
31396         Update from gnulib
31398         This incorporates:
31399         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
31400         2016-10-13 stdint: port SIZE_MAX to glibc s390
31401         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
31402         * lib/gnulib.mk: Regenerate.
31403         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
31404         * m4/utimes.m4: Copy from gnulib.
31406 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
31408         electric-quote-chars fixups
31410         * lisp/electric.el (electric-quote-chars): Check types and safety
31411         more carefully.
31412         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
31413         Omit no-longer-necessary runtime error diagnostic.
31415 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
31417         New user variable 'electric-quote-chars'
31419         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
31420         * lisp/electric.el (electric-quote-chars): New defcustom.
31421         (electric-quote-post-self-insert-function): Use it.
31423 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
31425         Add more tests for Bug#24627
31427         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
31428         Add tests for 'list-at-point'.
31430 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
31432         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
31434         * lisp/shell.el (shell--unquote&requote-argument): Fix
31435         off-by-one thinko.  Don't use match data after a failed string-match.
31437 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31439         * src/xwidget.c (webkit_js_to_lisp): Now static.
31441 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31443         xwidget: Map "previous-line" and "next-line" to scroll
31445         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
31446         procedures.
31448 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31450         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
31452         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
31453         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
31454         respectively.
31455         (xwidget-webkit-scroll-top,
31456         xwidget-webkit-scroll-bottom): New procedures.
31458 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31460         Implement zoom for WebKit widget.
31462         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
31463         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
31464         (xwidget-webkit-zoom): Declare procedure.
31465         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
31467 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31469         Dynamically resize WebKit widget.
31471         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
31472         xwidget-webkit-adjust-size-in-frame): New procedures.
31473         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
31474         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
31475         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
31476         add widget and window as arguments.
31477         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
31479 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31481         Let initial WebKit view fill window
31483         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
31484         WebKit widget to window size.
31486 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31488         xwidget: Remove title hack.
31490         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
31491         * lisp/xwidget.el (xwidget-webkit-get-title,
31492         xwidget-webkit-execute-script-rv): Remove procedures.
31494 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31496         xwidget: Get URL asynchronously.
31498         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
31500 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31502         xwidget: Get selection with asynchronous JavaScript
31504         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
31505         process selection.
31506         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
31508 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31510         xwidget: Add function to find element by CSS selector
31512         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
31514 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31516         xwidget: Simplify functions to scroll to elements
31518         * lisp/xwidget.el (xwidget-webkit-show-named-element,
31519         xwidget-webkit-show-id-element,
31520         xwidget-webkit-show-id-or-named-element): Simplify functions by
31521         scrolling exclusively with JavaScript.
31523 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31525         xwidget: Get title via asynchronous JavaScript.
31527         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
31528         asynchronously.
31530 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31532         xwidget: Do not use `xwidget-execute-script-rv' to insert string
31534         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
31535         return value via callback instead of using
31536         `xwidget-webkit-execute-script-rv'.
31538 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31540         Remove scrolled window container around WebKit widget
31542         The WebKit widget can scroll on its own and does not need to wrapped
31543         with a scrolled window container.
31545         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
31546         * src/xwidget.c: Remove widgetscrolledwindow_osr.
31547         (xwidget-set-adjustment): Remove.
31548         (xwidget-resize): Resize Webkit widget last.
31549         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
31550         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
31551         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
31552         Implement scrolling via JavaScript.
31554 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31556         xwidget: Pass JavaScript return value to optional callback procedure
31558         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
31559         callback argument.
31560         (xwidget-webkit-callback): Handle "javascript-callback" event type.
31561         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
31562         argument FUN, a Lisp procedure to execute on the JavaScript return
31563         value.
31564         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
31565         webkit_js_to_lisp): New procedures.
31567 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
31569         xwidget: Use WebKit2 API
31571         * configure.ac: Check for webkit2gtk-4.0.
31572         * src/xwidget.c: Adjust to use WebKit2 API.
31573         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
31574         `xwidget-event-type'.
31576 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31578         Merge from origin/emacs-25
31580         4c3f738 Comment for bug#24793
31582 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31584         Merge from origin/emacs-25
31586         96ac0c3 Yet another fix for using pointers into buffer text
31587         1047496 Another fix for using pointer to buffer text
31588         3121992 Fix Bug#24478
31590 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31592         Merge from origin/emacs-25
31594         ee04aed Fix handling of buffer relocation in regex.c functions
31595         71ca4f6 Avoid relocating buffers while libxml2 reads its text
31596         1b3fc8a ; Remove redundant code in gmalloc.c
31597         9afea93 Attempt to catch reads from a buffer that is relocated
31599 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
31601         Minor fix in the documentation of seq-random-elt
31603         * doc/lispref/sequences.texi (Sequence Functions): Remove false
31604           sentence.
31606 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
31608         Minor copyedits in documentation of 'seq-random-elt'
31610         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
31611         last change.  Use 2 spaces between sentences.
31613 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
31615         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
31617 2016-10-25  Damien Cassou  <damien@cassou.me>
31619         Add seq-random-elt to seq.el
31621         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
31622           random element from it's sequence parameter.
31624         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
31625           test-seq-random-elt-return-nil): Test the new function
31627         * doc/lispref/sequences.texi: Document the new function
31629 2016-10-24  Ken Brown  <kbrown@cornell.edu>
31631         * configure.ac: Stop using mmap for buffers on Cygwin.
31633 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
31635         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
31637 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
31639         Don't prompt user when killing Flymake processes
31641         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
31642         Don’t prompt the user when killing Flymake processes.
31644         * doc/misc/flymake.texi (Starting the syntax check process):
31645         Document new behavior.
31647 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31649         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
31651         This finishes the merge of the recent emacs-25 regex changes into
31652         master.
31654 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31656         Merge from origin/emacs-25
31658         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
31659         6f1325e electric-quote mode no longer worries about coding
31660         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
31661         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
31662         b2ba630 Explain how to debug emacsclient lisp errors
31663         9da53e2 Let describe-function work for lambda again
31664         5c2da93 Fix kill-line's docstring
31665         ad66b3f Fix handling of allocation in regex matching
31666         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
31667         3877c91 vc-region-history: Search just on lines intersecting the region
31668         8988327 Fix documentation of 'alist-get'
31669         b6998ea * src/regex.h (re_match_object): Improve commentary.
31671         # Conflicts:
31672         #       etc/NEWS
31673         #       lisp/help-fns.el
31675 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31677         Merge from origin/emacs-25
31679         8ad0d7d ; Fix quoting in etc/NEWS
31680         6b9dee1 Change Tramp version to "2.2.13.25.2"
31681         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
31682         b2f32e4 Don't scan compiled module files for autoloads
31683         9a758b4 Fix Bug#24698
31684         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
31685         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
31686         12da149 Update URL of MS-Windows optional DLLs
31687         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
31688         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
31689         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
31690         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
31692         # Conflicts:
31693         #       doc/misc/trampver.texi
31694         #       etc/NEWS
31695         #       lisp/net/tramp-sh.el
31696         #       lisp/net/trampver.el
31698 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31700         Merge from origin/emacs-25
31702         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
31703         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
31704         993acb5 ; Minor fix for last change in characters.el
31705         30c4bb5 More char-width fixes
31706         4eb4463 Fix char-width-table values for some Emoji
31707         528997d Keep point when switching from and to *terminal* buffer
31708         2130005 * INSTALL: Use correct Emacs release number 25.
31709         10835b1 Avoid crashes due to objects read with the #n=object form
31710         4de671d Improve doc string of 'completion-at-point-functions'
31711         ceb46f0 Fix crash in evaluating functions
31712         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
31714 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
31716         Merge from origin/emacs-25
31718         2deb20c Port last_marked change to full-program optimizers
31719         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
31720         dac64e3 Avoid optimizing out the last_marked[] array
31722 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
31724         Avoid infinite hscrolling in redisplay
31726         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
31727         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
31728         redisplay (Bug #24633).
31730 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
31732         Fix error codes in Tramp
31734         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
31735         taken from tramp.el.
31736         (tramp-file-missing): New defconst.
31738         * lisp/net/tramp.el (tramp-user-error): Remove it.
31739         (tramp-check-proper-method-and-host)
31740         (tramp-dissect-file-name, tramp-debug-message)
31741         (tramp-handle-shell-command):
31742         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
31743         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
31744         Use `tramp-compat-user-error'.
31746         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
31747         (tramp-handle-load):
31748         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
31749         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
31750         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
31751         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
31752         Use `tramp-file-missing'.  (Bug#24714)
31754         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
31755         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
31756         Use `file-already-exists'.
31758 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
31760         Autoload all commands from misc.el
31762         Only two of the commands there were autoloaded, one of which is an
31763         easter egg.
31764         * lisp/misc.el (copy-from-above-command):
31765         * lisp/misc.el (zap-up-to-char):
31766         * lisp/misc.el (mark-beginning-of-buffer):
31767         * lisp/misc.el (mark-end-of-buffer):
31768         * lisp/misc.el (upcase-char):
31769         * lisp/misc.el (forward-to-word):
31770         * lisp/misc.el (backward-to-word):
31771         Add autoload cookie.
31773 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
31775         On terminal frames ignore minibuffer frame parameter (Bug#24758)
31777         * src/frame.c (Fmake_terminal_frame): Don't complain when the
31778         caller asks for a deviant minibuffer setting (Bug#24758).
31780 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
31782         New error file-missing
31784         This fixes a recently-introduced bug in delete-directory,
31785         where the code assumes the C locale when determining
31786         whether a file-error corresponds to a missing file (Bug#24714).
31787         * doc/lispref/errors.texi (Standard Errors):
31788         * doc/lispref/files.texi (Changing Files):
31789         * etc/NEWS:
31790         Document this.
31791         * doc/lispref/loading.texi (How Programs Do Loading):
31792         Say "a file-error" rather than "the error file-error" since
31793         it might be a file-missing now.
31794         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
31795         * lisp/epa-file.el (epa-file--find-file-not-found-function):
31796         (epa-file-insert-file-contents, epa-file-write-region):
31797         * lisp/ffap.el (find-file-at-point, dired-at-point):
31798         * lisp/jka-compr.el (jka-compr-insert-file-contents)
31799         (jka-compr-insert-file-contents):
31800         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
31801         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
31802         * lisp/progmodes/etags.el (visit-tags-table):
31803         * lisp/url/url-handlers.el (url-copy-file):
31804         * src/fileio.c (report_file_errno):
31805         Signal file-missing if appropriate.
31806         * lisp/epa-file.el (epa-file-insert-file-contents):
31807         * lisp/jka-compr.el (jka-compr-insert-file-contents):
31808         Don't assume file-error is a leaf in the error hierarchy.
31809         * lisp/files.el (files--force):
31810         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
31811         * lisp/jka-compr.el (jka-compr-insert-file-contents):
31812         Use file-missing to detect whether the file is missing.
31813         * lisp/url/url-handlers.el (url-copy-file):
31814         Signal file-already-exists if appropriate.
31815         * src/fileio.c (syms_of_fileio): Define file-missing.
31817         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31819 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
31821         Teach browse-url to open man page urls
31823         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
31824         (browse-url): Add a condition to catch links matching "^man:".
31825         (browse-url-man): New function.
31827 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
31829         Improve fontification of footnote references in Info buffers
31831         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
31832         in parentheses as if they were footnote references.  See
31833         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
31834         for the details.
31836 2016-10-20  Philipp Stephani  <phst@google.com>
31838         Minor fixes to cc-mode-tests.el
31840         See Bug#24747.
31842         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
31843         file-local variable; add comments to make checkdoc happy.
31845 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
31847         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
31849 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
31851         Document, how to suppress iTerm2 shell integration in Tramp
31853         * doc/misc/tramp.texi (Frequently Asked Questions):
31854         Suppress iTerm2 shell integration.
31856 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
31858         cl-seq: Remove max limit on input sequence length
31860         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
31861         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
31862         Remove limit on maximum length for the input sequence
31863         (#Bug24264).
31864         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
31866 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
31868         Derive dig-mode from special-mode
31870         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
31871         mode-class assignment.
31872         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
31873         (dig-mode): Derive from special-mode.
31874         (dig-exit): Use quit-window instead.
31875         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
31876         (query-dig): Use pop-to-buffer-same-window.
31878 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
31880         cl-defstruct: Fix debug spec and check of slot options
31882         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
31883         option syntax.  Fix debug spec.  (Bug#24700)
31885 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
31887         isearch: Fix bug in defstruct syntax
31889         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
31890         options.  (Bug#24685)
31892 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
31894         Add an option for eshell-input-filter
31896         * etc/NEWS: Document changes.
31897         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
31898         symbol.  Change type to a radio for choosing functions.  Refer to both
31899         new functions.
31900         (eshell-input-filter-default): New function.  Same body as the previous
31901         value of eshell-input-filter.
31902         (eshell-input-filter-initial-space): New function.
31904 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31906         delete-directory no longer errors when racing
31908         Problem reported by Glenn Morris for package-test.el (Bug#24714).
31909         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
31910         * lisp/files.el (files--force): New function.
31911         (delete-directory): Use it to avoid error in this case.
31913 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
31915         Support Shift selection in nxml-mode commands
31917         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
31918         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
31919         (nxml-backward-down-element, nxml-forward-element)
31920         (nxml-backward-element, nxml-forward-paragraph)
31921         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
31922         support shift-selection.
31924 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
31926         Simplify some loops and cons
31928         * lisp/net/mailcap.el: Replace cl with cl-lib.
31929         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
31930         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
31931         (mailcap-possible-viewers): Use push and dolist where possible.
31932         (mailcap-viewer-passes-test): Remove unused binding.
31933         (mailcap-add-mailcap-entry): Use push.
31934         (mailcap-mime-info): Remove unused binding.  Use push.
31935         (mailcap-parse-mimetypes): Use dolist.
31937 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
31939         Turn on lexical-binding in auth-source
31941         * lisp/auth-source.el: Turn on lexical-binding.
31942         (auth-source-netrc-parse, auth-source-netrc-normalize):
31943         (auth-source-token-passphrase-callback-function):
31944         (auth-source-netrc-create, auth-source-secrets-search):
31945         (auth-source-macos-keychain-search-items):
31946         (auth-source-plstore-search): Use let instead of lexical-let.
31948 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
31950         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
31952         * src/frame.c (do_switch_frame): Redirect frame focus also when
31953         the frame switched to has its minibuffer window on the selected
31954         frame.
31955         * src/window.c (candidate_window_p): To qualify as candidate
31956         it's not sufficient for the window's frame to just share the
31957         minibuffer window - it must be active as well.
31959 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
31961         Fix time-related data types in 2 editfns.c functions
31963         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
31964         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
31965         instead of relying on struct timespec's 'tv_sec' member to be of
31966         compatible type.
31968 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
31970         Document atomic windows in Elisp manual (Bug#18170)
31972         * lisp/window.el (display-buffer-in-atom-window): If no `side'
31973         alist entry was specified, use `below' as the doc tells.
31974         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
31975         * doc/lispref/windows.texi (Atomic Windows): New section.
31976         (Window Parameters): Update reference.
31978 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31980         New face homoglyph
31982         Suggested by Eli Zaretskii, from a feature request by
31983         Alan Mackenzie (Bug#24468).
31984         * doc/emacs/display.texi (Standard Faces, Text Display):
31985         * etc/NEWS: Document this.
31986         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
31987         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
31988         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
31989         * etc/themes/wombat-theme.el:
31990         Customize homoglyph to be the same as escape-glyph.
31991         * lisp/cus-theme.el (custom-theme--listed-faces):
31992         Add homoglyph.
31993         * lisp/faces.el (homoglyph): New face.
31994         * lisp/startup.el (startup--setup-quote-display): Use it.
31996 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31998         Port to Ubuntu 16.10, which needs gcc -nopie
32000         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
32001         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
32002         preference to -nopie (Bug#24682).
32004 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
32006         Fix bug#24665 in Tramp
32008         * doc/misc/tramp.texi (External methods): Do not confuse
32009         method names.  (Bug#24665)
32011 2016-10-15  Sam Steingold  <sds@gnu.org>
32013         use full time objects (lists) instead of floats when possible
32015         * lisp/midnight.el (midnight-buffer-display-time): Remove
32016         (clean-buffer-list): Use float time only for time comparison
32018 2016-10-15  Sam Steingold  <sds@gnu.org>
32020         Save and restore buffer-display-time
32022         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
32023         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
32024         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
32026 2016-10-15  Philipp Stephani  <phst@google.com>
32028         Disable bracketed paste in a terminal in char mode
32030         In char mode, a terminal doesn't accept bracketed paste events,
32031         therefore we should disable them; see Bug#24639.  To decouple the XTerm
32032         management from term.el, introduce a per-buffer setting to disable
32033         bracketed paste for that buffer.  If bracketed paste is inhiited for at
32034         least one buffer in a terminal, it is disabled for the whole terminal.
32036         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
32037         inhibit XTerm bracketed paste per buffer.
32038         (xterm--buffer-terminals, xterm--update-bracketed-paste)
32039         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
32040         functions.
32041         (xterm--init-bracketed-paste-mode): Remove unused helper
32042         function.
32043         (terminal-init-xterm): Update bracketed paste status when
32044         initializing an XTerm and on window configuration change.
32046         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
32047         bracketed paste in char mode.
32049 2016-10-15  Dima Kogan  <dima@secretsauce.net>
32051         Undo the effect of CapsLock when other modifiers are present
32053         * src/keyboard.c (make_lispy_event): Effectively undo the effect
32054         of CapsLock if any modifiers other than Shift are present in a key.
32055         (Bug#24456)
32057 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
32059         Add tests for foreign completions in CSS mode
32061         * test/lisp/textmodes/css-mode-tests.el
32062         (css-test-foreign-completions): New test for
32063         `css--foreign-completions'.
32064         (css-test-complete-selector-tag): Rename test.
32065         (css-test-complete-selector-class): New test testing completion of
32066         class names in selectors.
32067         (css-test-complete-selector-id): New test testing completion of IDs in
32068         selectors.
32070 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
32072         Cosmetic change to last mm-url change
32074         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
32075         Tweak last change slightly for more readability.
32077 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
32079         Fix problem with submitting binary data via HTTP forms
32081         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
32082         Document the parameters, clean up the code, and make uploading
32083         binary data really work (which it didn't if the binary bits
32084         were in the last part of the data).
32086 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
32088         * lisp/time.el (display-time-string-forms): Fix custom type.
32090 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
32092         Derive Man and WoMan modes from special-mode
32094         * lisp/man.el (Man-mode-map): Set parent to map composed from both
32095         button-buffer-map and special-mode-map.  Remove redundant bindings.
32096         Fix menu to refer to the quit-window command.
32097         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
32098         buffer-read-only binding.
32099         (Man-quit): Remove.
32100         * lisp/woman.el (woman-really-find-file): Use setq-local.
32101         (woman-mode-map): Refer to woman-mode in docstring.
32102         (woman-mode): Derive from special-mode.  Document woman-mode-map in
32103         docstring.  Use setq-local where possible; imenu-generic-expression is
32104         already buffer-local.
32105         (woman-negative-vertical-space): Replace unused binding with _.
32107 2016-10-13  Philipp Stephani  <phst@google.com>
32109         Fix crash in evaluating functions
32111         See Bug#24673
32113         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
32114         as (closure).
32116         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
32118 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
32120         Add test for Bug#24627
32122         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
32124 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
32126         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
32128 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
32130         Work around Samba bug with ':' in symlink contents
32132         * src/filelock.c (current_lock_owner): When reading the contents
32133         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
32135 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
32137         If autoloads buffer is unchanged, mark it as such (bug#23692)
32139         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
32140         If autoloads buffer is unchanged, mark it as such (bug#23692).
32142 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
32144         Use "26.1" version string in Tramp, fix some comments
32146         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
32147         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
32148         Use "26.1" version string.
32150 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
32152         form-at-point work for all kind of THINGS
32154         * lisp/thingatpt.el (form-at-point):
32155         Use thing-at-point--read-from-whole-string only if thing-at-point
32156         returns a string (Bug#24605).
32158 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
32160         Fix compilation warnings on MS-Windows
32162         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
32163         definitions of these macros, which seem to be unneeded and cause
32164         compiler warnings.
32165         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
32166         macros.
32167         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
32168         make it external, to avoid compiler warning.
32170 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32172         Spelling and clarity fixes
32174 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32176         Merge from origin/emacs-25
32178         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
32179         44e402e Allow to disable compaction of font caches
32180         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
32181         c03d44b ; Fix last commit
32182         d4be4f3 ; Fix indexing in lispref manual
32183         ed399f2 ; Minor improvement in documentation of generators
32184         197a6bc Fix horizontal scrolling during Isearch
32185         3566644 Fix infloop in redisplay due to truncated lines and invisible...
32187         # Conflicts:
32188         #       etc/NEWS
32190 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32192         Merge from origin/emacs-25
32194         c4a5e7e Improve documentation of 'menu-bar-open'
32196 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32198         Merge from origin/emacs-25
32200         4b347fe Clarify that doc fixes are okay in feature freeze
32201         01669ad Avoid crashes when setting the cursor
32202         f2144ee Restore 'command-debug-status' functionality
32203         ec6e4b9 ; Minor addition to CONTRIBUTE
32205 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32207         Merge from origin/emacs-25
32209         74b4f13 Document nil args of compare-buffer-substrings
32210         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
32211         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
32213 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32215         Merge from origin/emacs-25
32217         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
32218         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
32219         bbf1ffd Regexp Functions doc minor fixes
32221 2016-10-08  Philipp Stephani  <phst@google.com>
32223         Don’t consider nested let-alist forms
32225         See Bug#24641.
32227         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
32228         consider symbols in nested ‘let-alist’ forms.
32230         * test/lisp/emacs-lisp/let-alist-tests.el
32231         (let-alist--deep-dot-search--nested): Add a unit test.
32233 2016-10-08  Alain Schneble  <a.s@realize.ch>
32235         Support SIGTRAP in kill emulation on Windows
32237         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
32238         'DebugBreakProcess' to cause a breakpoint exception to occur in the
32239         specified process.  On Windows versions prior to Windows XP that do
32240         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
32241         (as opposed to EINVAL before this change).
32242         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
32243         and global variable to track state of run-time dynamic linking of this
32244         function.
32246         * etc/NEWS: Add entry to document that 'signal-process' now supports
32247         SIGTRAP.
32249 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
32251         Deprecate 'wp' group and introduce a new group 'text'
32253         * lisp/textmodes/tildify.el (tildify):
32254         * lisp/textmodes/text-mode.el (text-mode-hook):
32255         * lisp/textmodes/table.el (table):
32256         * lisp/textmodes/rst.el (rst):
32257         * lisp/textmodes/refer.el (refer):
32258         * lisp/textmodes/refbib.el (refbib):
32259         * lisp/textmodes/picture.el (picture):
32260         * lisp/textmodes/nroff-mode.el (nroff):
32261         * lisp/textmodes/enriched.el (enriched):
32262         * lisp/textmodes/bib-mode.el (bib):
32263         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
32264         * lisp/nxml/rng-valid.el (relax-ng):
32265         * lisp/view.el (view):
32266         * lisp/ps-print.el (ps-print):
32267         * lisp/printing.el (printing):
32268         * lisp/outline.el (outlines):
32269         * lisp/lpr.el (lpr):
32270         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
32271         * lisp/cus-edit.el (wp): Remove the "text" tag.
32272         (text): New defgroup, inherits from the deprecated 'wp'.
32273         (outlines): Remove, in favor of the definition in outline.el.
32274         (tex): Inherit from 'text'.
32275         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
32277 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
32279         Extend dictionary and library-directory handling for Ispell
32281         * lisp/textmodes/ispell.el (ispell-check-version): Allow
32282         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
32283         ISPELL_DICTDIR).
32284         (ispell-valid-dictionary-list): If the -d option to Ispell
32285         specifies an absolute file name, use that regardless of
32286         ispell-library-directory.  (Bug#24439)
32288 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
32290         Fix unescaped \begin{...} in docstring
32292         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
32293         \begin{...} in docstring.
32295 2016-10-06  Noah Friedman  <friedman@splode.com>
32297         Update comment.
32299 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
32301         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
32303         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
32304         defining to avoid redefinition warnings.
32306         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
32307         inclusion of sys/stat.h from the system headers, which could then
32308         lead to compilation errors due to redefinition of 'struct stat'
32309         etc.  This is needed because latest versions of MinGW runtime
32310         include sys/stat.h from wchar.h.
32312         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
32313         redefine to 4 to avoid conflict between 2 definitions of
32314         MemoryBarrier.  (Bug#24613)
32316 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
32318         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
32320 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
32322         Autoload entry point testcover-start
32324         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
32325         testcover-start.
32327 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
32329         Bump version of ntlm.el to 2.1.0
32331         * lisp/net/ntlm.el: Bump version to 2.1.0.
32333 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
32335         lisp/net/ntlm.el: Fix comment and docstring formatting
32337 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
32339         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
32341         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
32342         "negotiate domain supplied" bit when a domain is supplied.  Do
32343         not set "negotiate workstation supplied" bit.
32344         (ntlm-build-auth-response): Set domain to empty string by
32345         default.  Set workstation name to "WORKSTATION".  Set flags to
32346         logical and of Type 1 and Type 2 message flags.  Remove four
32347         trailing 0 bytes.  Always set LM response.  Hard-code domain
32348         offset.  Reorder buffer fields.
32350 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
32352         Document return value of `display-buffer-in-side-window'
32354         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
32355         * lisp/window.el (display-buffer-in-side-window): Describe
32356         return value of `display-buffer-in-side-window'.
32358 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
32360         Improve wording in side windows documentation
32362         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
32363         (Side Window Options and Functions)
32364         (Frame Layouts with Side Windows): Minor wording improvements.
32366 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
32368         Document and fix some bugs with side windows
32370         Add a documentation for side windows and fix some bugs
32371         found when testing their behavior.  Also add a new window
32372         parameter `no-delete-other-window', a new `display-buffer'
32373         alist member called `window-parameters', and functions to
32374         toggle and reverse side windows on a frame.  Add new function
32375         `window-swap-states' to exchange states of two live windows.
32377         * lisp/window.el (display-buffer-in-atom-window): Use
32378         `split-window-no-error'.
32379         (window-sides-vertical): Maybe change layouts when setting this
32380         variable.
32381         (window-sides-reversed): New option.
32382         (window-sides-slots): Rewrite doc-string and help echoes.
32383         (window-sides-shown): New buffer-local variable set when showing
32384         a buffer in a side window.
32385         (window--sides-inhibit-check): New variable.
32386         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
32387         (window--sides-reverse-all, window--sides-reverse-frame)
32388         (window--sides-reverse-side, window--sides-reverse)
32389         (window--sides-verticalize-frame, window--sides-verticalize)
32390         (window--sides-check-failed): New functions.
32391         (window--side-window-p): Remove function.
32392         (window--major-non-side-window): Rename to `window-main-window',
32393         adjust callers, rewrite doc-string.
32394         (window--major-side-window): Rename to
32395         `window--make-major-side-window-next-to', adjust caller, fix
32396         doc-string.
32397         (display-buffer-in-major-side-window): Rename to
32398         `window--make-major-side-window', adjust
32399         caller, rewrite doc-string.  Make `window-side' and
32400         `window-slot' parameters persistent (Bug#23858).  Don't set
32401         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
32402         (delete-side-window): Remove function.
32403         (display-buffer-in-side-window): Fix doc-string.  Don't set
32404         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
32405         (window--side-check): Rename to window--sides-check.  Rewrite
32406         completely.  Adjust caller.
32407         (window-resize-no-error): Don't describe PIXELWISE argument.
32408         (adjust-window-trailing-edge): Fix bug that disallowed
32409         re-enlarging windows that were too small.
32410         (window-deletable-p): Don't tell that a minibuffer window on a
32411         non-minibuffer-only frame can be deleted.  Fix doc-string.
32412         (delete-window): Handle deleting a side window here (the
32413         `delete-window' parameter is no more set for side windows).
32414         (delete-other-windows): Handle ‘no-delete-other-window'
32415         parameter. Don't treat side windows separately (see discussion
32416         of Bug#24368) but keep optimization that makes the main window
32417         the root window of its frame.
32418         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
32419         windows and buffers shown in side windows separately.
32420         (split-window-no-error): New function.
32421         (window--state-get-1): Use right buffer when storing window
32422         point and start positions and WRITABLE is nil (Bug#24368).
32423         (window--state-put-1): Fix handling of `window-combination-limit'.
32424         Use `split-window-no-error'.
32425         (window--state-put-2): Try to restore windows with preserved
32426         size to their original size.  Fix bug where a fixed window's width
32427         was not preserved.
32428         (window-state-put): When reducing an internal window to a live
32429         one, don't choose a side window.
32430         (window-swap-states): New function.
32431         (window-splittable-p): Don't call `window--side-window-p'.
32432         (window--display-buffer): Handle `window-parameters' ALIST entry.
32433         Minor rewrite.
32434         (display-buffer): Mention `window-parameters' entry in
32435         doc-string.
32436         (display-buffer-at-bottom): Call `split-window-no-error'.
32438         * doc/lispref/elisp.texi (Top): New section "Side Windows".
32439         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
32440         of `delete-window' and `delete-other-windows' wrt window
32441         parameters and side windows.
32442         (Display Action Functions): Mention `window-parameters' ALIST
32443         entry.
32444         (Side Windows): New section (Bug#18170).
32445         (Window Configurations): Describe new function `window-swap-states'.
32446         (Window Parameters): Say that functions may behave specially when
32447         their homonymous window parameter has been set.  Mention new
32448         parameter `no-delete-other-window'.  Add cross reference for
32449         `window-side' and `window-slot' parameters.
32451 2016-10-04  John Wiegley  <johnw@newartisans.com>
32453         Add documentation note from Alex
32455 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
32457         Avoid dynamic binding on a symbol
32459         Instead, bind history in the default minibuffer-history.
32460         Fixes bug#24580.
32461         * lisp/replace.el (query-replace-read-from): Let-bind
32462         minibuffer-history.  Change read-regexp and read-from-minibuffer's
32463         HISTORY arguments to nil so that they use minibuffer-history.
32465 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
32467         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
32469         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
32470         deleting the old buffer content.
32471         * src/lisp.h (del_range_byte):
32472         * src/insdel.c (del_range_byte): Drop the last argument.
32473         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
32475 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
32477         Ibuffer: 'w' and 'B' default to buffer at current line
32479         See discussion in:
32480         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
32481         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
32482         return buffers near current line.
32483         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
32484         Add argument ARG; if a non-zero integer, return next ARG buffers.
32485         Otherwise return the marked buffers.
32486         If there are not marked buffers, return buffer at current line
32487         without prompting the user.
32488         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
32489         Append to kill ring when last command was a kill-region.
32490         (ibuffer-copy-filename-as-kill): Idem.
32491         Simplify the code.
32492         Use ibuffer-buffer-file-name instead of buffer-file-name to
32493         include buffers in Dired mode.
32495 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
32497         dired-mark-extension: Unmark if called with C-u prefix
32499         See discussion in #Bug2518 and:
32500         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
32501         * lisp/dired-x.el (dired-mark-extension):
32502         Update interactive calls: a prefix arg C-u unmark files;
32503         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
32504         (dired-mark-sexp):
32505         Show in the prompt that we are unmarking if called with a prefix argument.
32506         * doc/misc/dired-x.texi (Advanced Mark Commands):
32507         Update documentation for 'dired-mark-extension'.
32509 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
32511         Document yank behavior in the right place
32513         * lisp/simple.el (yank): Document the handling of the
32514         `yank-handled-properties' and `yank-excluded-properties' variables,
32515         and the `yank-handler' text property.
32516         (yank-pop): Refer to `yank' now (bug#286)
32518         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
32519         (insert-for-yank-1): Refer to `insert-for-yank' now.
32521         See this thread for discussion:
32523           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
32524           From: Karl Fogel
32525           To: Emacs Devel
32526           Subject: Question about intended behavior of 'insert-for-yank-1'.
32527           Date: Mon, 12 Sep 2016 00:17:14 -0500
32528           Message-ID: <874m5lr92d.fsf@red-bean.com>
32530 2016-10-02  Philipp Stephani  <phst@google.com>
32532         Restart blink cursor timers on interval changes
32534         This prevents surprising behavior when timer interval customizations are
32535         only applied whenever the timers happen to be restarted (see Bug#24372).
32537         * lisp/frame.el (blink-cursor--start-idle-timer)
32538         (blink-cursor--start-timer): New functions.
32539         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
32540         the new helper functions.
32541         (blink-cursor-delay, blink-cursor-interval): Restart timers when
32542         the value is changed.
32544 2016-10-01  Philipp Stephani  <phst@google.com>
32546         Use a simple keyword for a non-nil argument
32548         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
32549         and non-nil values are distinguished.  Passing a number here is
32550         confusing.  Pass a descriptive symbol instead.
32552         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
32553         :repeat symbol instead of number for second argument of
32554         `run-with-idle-timer'
32556 2016-10-01  Philipp Stephani  <phst@google.com>
32558         Make querying to kill processes customizable
32560         Introduce a new customization option, `confirm-kill-processes', that
32561         users can set to nil if they don't want Emacs to nag them about killing
32562         processes.
32564         * lisp/files.el (confirm-kill-processes): New customization option.
32565         (save-buffers-kill-emacs): Use customization option.
32567         * test/lisp/files-tests.el
32568         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
32569         test for new customization option.
32571         * doc/emacs/entering.texi (Exiting): Document new user option.
32573         * doc/lispref/processes.texi (Query Before Exit): Document new
32574         user option.
32576         * etc/NEWS: Document new user option.
32578 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32580         Set :version of 'debugger-stack-frame-as-list'
32582         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
32583         the ':version' attribute.
32585 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32587         Bump Emacs version to 26.0.50
32589         * README:
32590         * configure.ac:
32591         * etc/NEWS:
32592         * etc/refcards/ru-refcard.tex:
32593         * msdos/sed2v2.inp:
32594         * src/msdos.c: Increment Emacs version to 26.0.50.
32595         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
32596         moved to etc/NEWS.
32598 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
32600         Avoid compilation warning on MinGW
32602         * src/w32.c: Include string.h, needed for the prototype of
32603         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
32604         warning about "no previous prototype".  The string.h header
32605         must be included after ms-w32.h, but before "#undef strerror".
32607 2016-09-30  Alan Third  <alan@idiocy.org>
32609         Fix compatibility with macOS 10.12 pmset (bug#24537)
32611         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
32612         present in output.
32614 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
32616         Limit <config.h>’s includes
32618         This follows up on recent problems with the fact that config.h
32619         includes stdlib.h etc.; some files need to include stdlib.h later.
32620         config.h generally should limit itself to includes that are
32621         universally safe; outside of MS-Windows, only stdbool.h makes
32622         the cut among the files currently included.  So, move the
32623         other includes to just the files that need them (Bug#24506).
32624         * configure.ac (config_opsysfile): Remove, as this generic hook
32625         is no longer needed.
32626         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
32627         * src/w32proc.c (_GNU_SOURCE):
32628         Remove, as it’s OK for config.h to do this now.
32629         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
32630         config_opsysfile, for simplicity as this old way of configuring is
32631         now done only for the MS-Windows port.  Do not include <ms-w32.h>
32632         if DEFER_MS_W32_H, for the benefit of the few files that want its
32633         effects later.  Do not include <alloca.h>, <string.h>, or
32634         <stdlib.h>.  Other files modified to include these headers as
32635         needed, or to not include headers that are no longer needed.
32636         * src/lisp.h: Include <alloca.h> and <string.h> here, since
32637         some of the inline functions need them.
32638         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
32639         we can rely on SAFE_ALLOCA.)  There is no longer any need to
32640         worry about HAVE_ALLOCA_H.
32641         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
32642         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
32643         Define before including <config.h> first, and include <ms-w32.h>
32644         after the troublesome headers.
32646 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
32648         New user option 'debugger-stack-frame-as-list'
32650         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
32651         variable.
32652         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
32653         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
32654         backtrace processing for the value of debugger-stack-frame-as-list.
32655         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
32656         processing for the value of debugger-stack-frame-as-list.
32657         * doc/lispref/debugging.texi (Internals of Debugger): Document
32658         debugger-stack-frame-as-list.
32659         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
32661 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
32663         * src/alloc.c: call only non-null finalizers
32665 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
32667         Avoid compiler warnings in image.c on MS-Windows
32669         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
32670         warning about unused macros.
32672 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
32674         * lisp/outline.el (outline-invisible-p): Only return `t' for
32675         the 'outline property.
32677 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
32679         Fix problems found by static checking --with-ns
32681         This is for Fedora 24 when configured with --enable-gcc-warnings.
32682         Although it does not fix all the problems, it fixes many of them.
32683         * src/frame.c (XParseGeometry):
32684         * src/nsterm.m (mouseDown:):
32685         Mark locals with UNINIT to pacify --enable-gcc-warnings.
32686         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
32687         Remove unused macros.
32688         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
32689         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
32690         (xpm_put_color_table_v, xpm_get_color_table_v)
32691         (xpm_make_color_table_h, xpm_put_color_table_h)
32692         (xpm_get_color_table_h, xpm_load_image, xpm_load)
32693         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
32694         (svg_load_image):
32695         * src/nsfns.m (x_get_string_resource):
32696         * src/nsimage.m (ns_image_from_XBM):
32697         Fix pointer signedness problems.
32698         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
32699         (imagemagick_load_image): Omit unused locals.
32700         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
32701         (Fx_open_connection):
32702         * src/nsfont.m (ns_antialias_threshold):
32703         Move extern decl to nsterm.h so it can be checked.
32704         * src/nsmenu.m (svcsMenu, dockMenu):
32705         Move to the only file that uses them, so they can be static.
32706         * src/nsterm.h (find_and_call_menu_selection):
32707         * src/nsterm.m (x_set_frame_alpha):
32708         Omit duplicate decls.
32709         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
32710         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
32711         (ns_set_name_as_filename, x_set_menu_bar_lines)
32712         (x_set_tool_bar_lines, x_set_internal_border_width):
32713         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
32714         Now static.
32715         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
32716         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
32717         Remove; unused.
32718         * src/nsfont.m (ns_dump_glyphstring):
32719         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
32720         (ns_clear_frame, keyDown:):
32721         Fix signedness problem with printf arg.
32722         * src/nsterm.h (ns_input_events, ns_finish_events):
32723         * src/nsterm.m (ns_finish_events, hide_bell):
32724         Prototype the decls.
32725         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
32726         Omit unnecessary decl.
32727         (dockMenu):
32728         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
32729         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
32730         (toggleFullScreen:): Use FACE_FROM_ID instead of
32731         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
32732         result to be non-null.
32733         (applicationShouldTerminate:): Fix misleading indentation.
32735 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
32737         Turn on more lexical-binding
32739         * lisp/dom.el:
32740         * lisp/faces.el:
32741         * lisp/htmlfontify.el: Turn on lexical-binding.
32742         (htmlfontify-string): Use pushnew instead of add-to-list.
32743         * lisp/info-xref.el:
32744         * lisp/isearch.el:
32745         * lisp/man.el:
32746         * lisp/ps-def.el:
32747         * lisp/ps-print.el:
32748         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
32749         time.
32750         (multi-occur): Use cl-pushnew instead of add-to-list.
32751         (replace-match-string-symbols): Remove unused lexical variable.
32752         (replace-search, replace-highlight): Fix argument shadowing.
32753         * lisp/sort.el:
32754         * lisp/xml.el: Turn on lexical-binding.
32755         (xml--parse-buffer): Use push instead of add-to-list.
32756         * lisp/xt-mouse.el: Turn on lexical-binding.
32758 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
32760         * admin/notes/bug-triage: Do not mention closed bugs
32762         * admin/notes/bug-triage: Do not mention closed bugs, they are
32763         suppressed by default in debbugs-{gnu,org}.
32765 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
32767         * etc/PROBLEMS: Remove problem Bug#22814, again.
32769 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32771         Stick with debbugs-supported tags in triage
32773         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
32774         debbugs supports, rather than suggesting "doneunreproducible" or
32775         "unreproducable".
32777 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32779         Merge from origin/emacs-25
32781         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
32782         c14a1d4 Minor copyedits of MS-Windows installation instructions
32783         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
32785         # Conflicts:
32786         #       lisp/minibuffer.el
32788 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32790         Merge from origin/emacs-25
32792         0ae9a81 Document 'timerp'
32793         2c72c46 Improve documentation of overlay priorities
32794         f6fa160 Fix 'dired-compress-files'
32795         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
32797         # Conflicts:
32798         #       lisp/dired.el
32799         #       src/buffer.h
32800         #       src/character.h
32802 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32804         Merge from origin/emacs-25
32806         cf9e174 Document the optional zlib library in MS-Windows builds
32807         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
32808         73c67dd Fix tagging of DEFUN by etags
32809         ea1960b Avoid resetting track-mouse by mouse clicks
32810         505fef3 Improve nt/README.W32 instructions
32811         1229cc4 Document that desktop file overrides frame parameters
32812         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
32814         # Conflicts:
32815         #       ChangeLog.2
32816         #       admin/notes/unicode
32817         #       lisp/ldefs-boot.el
32819 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32821         Merge from origin/emacs-25
32823         0ffc9ce Update admin/authors.el
32824         0ad7410 Update Antinews in ELisp manual
32825         ea0f750 Fix comments on window height macros
32826         0bbdeed Fix 'url-http-create-request' when cookies are used
32827         0045998 Fix cross reference in frames.texi
32828         1392894 ; * etc/DEBUG: Minor copyedits.
32829         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
32830         56bf7d7 Fix regexp-opt documentation (bug #17862)
32831         803ad6f ; Fix documentation of seq-subseq
32832         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
32833         88ea396 ; Spelling fixes
32834         17197d0 Fix tags-query-replace docstring
32835         80a7f8b Clarify documentation of precision in format specs
32836         88a5052 Improve and clarify documentation of subprocesses
32837         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
32839         # Conflicts:
32840         #       etc/PROBLEMS
32841         #       src/process.c
32843 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
32845         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
32847 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32849         Fix 'dired-mark-extension' with prefix argument
32851         * lisp/dired-x.el (dired-mark-extension): Allow to specify
32852         MARKER-CHAR interactively as a string, not as a character's
32853         codepoint.  (Bug#24518)
32855         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
32856         behavior when invoked with a prefix arg.
32858 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
32860         Support completion of classes and IDs in CSS mode
32862         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
32863         holding the function to call for retrieving completions of class
32864         names.
32865         (css-id-list-function): New variable holding the function to call for
32866         retrieving completions of IDs.
32867         (css--foreign-completions): New function for retrieving completions
32868         from other buffers.
32869         (css--complete-selector): Support completing HTML class names and IDs
32870         from other buffers in addition to completing HTML tags.
32872         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
32873         variable holding a cache for `html-current-buffer-classes'.
32874         (html--buffer-ids-cache): New variable holding a cache for
32875         `html-current-buffer-ids'.
32876         (html-current-buffer-classes): New function returning a list of class
32877         names used in the current buffer.
32878         (html-current-buffer-ids): New function returning a list of IDs used
32879         in the current buffer.
32880         (html-mode): Set `css-class-list-function' and `css-id-list-function'
32881         to `html-current-buffer-classes' and `html-current-buffer-ids'
32882         respectively.
32884 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32886         Update test suite files due to removal of test/lisp/legacy
32888         * test/README: Reference file-organization.org.
32889         * test/file-organization.org: Remove the description of files in
32890         the lisp/legacy/ directory.
32892 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32894         Incorporate syntax-tests in lisp-tests.
32896         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
32897         test/lisp/legacy/syntax-tests.el.
32898         * test/lisp/legacy/syntax-tests.el: File deleted.
32900 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32902         Incorporate occur-tests in replace-tests
32904         * test/lisp/replace-tests.el: Add tests from
32905         test/lisp/legacy/occur-tests.el.
32906         * test/lisp/legacy/occur-tests.el: File deleted.
32908 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32910         Incorporate lexbind-tests.el in bytecomp-test.el
32912         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
32913         test/lisp/legacy/lexbind-tests.el.
32914         * test/lisp/legacy/lexbind-tests.el: File deleted.
32916 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
32918         Improve integer overflow handling a bit
32920         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
32921         The machine code is the same on my platform.
32922         * src/doprnt.c (doprnt):
32923         * src/emacs-module.c (module_funcall):
32924         * src/font.c (font_intern_prop):
32925         * src/keyboard.c (Frecursion_depth):
32926         * src/lread.c (read1):
32927         Use WRAPV macros instead of checking overflow by hand.
32928         * src/editfns.c (hi_time, time_arith, decode_time_components):
32929         * src/emacs-module.c (Fmodule_load):
32930         Simplify by using FIXNUM_OVERFLOW_P.
32931         * src/emacs-module.c: Include intprops.h.
32932         * src/xdisp.c (percent99): New function.
32933         (decode_mode_spec): Use it to simplify overflow avoidance and
32934         formatting of %p and %P.
32936 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32938         Incorporate core-elisp-tests in lisp-tests
32940         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
32941         test/lisp/legacy/core-elisp-tests.el.
32942         * test/lisp/legacy/core-elisp-tests.el: File removed.
32944 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
32946         Move coding-tests.el and decoder-test.el to their places
32948         * test/src/coding-tests.el: Added all the tests from
32949         test/lisp/legacy/decoder-tests.el.
32950         * test/lisp/legacy/decoder-tests.el: File deleted.
32952 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
32954         Use correct TYPE value for displaying error messages in (erc-display-message)
32956 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
32958         Bump the version to 25.2.50
32960         * README:
32961         * configure.ac:
32962         * etc/NEWS:
32963         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
32965 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
32967         ibuffer-do-view-other-frame: Display each buffer in a new frame
32969         * lisp/ibuffer.el (ibuffer-do-view-1):
32970         When TYPE equals 'other-frame, then display each buffer
32971         in a new frame (Bug#24086).
32973 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
32975         Update from gnulib
32977         This incorporates:
32978         2016-09-22 stdint: port to GCC 7
32979         2016-09-22 limits-h, stdint: don't assume extensions
32980         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
32982 2016-09-22  Alan Mackenzie  <acm@muc.de>
32984         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
32986 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
32988         Port recent flexmember changes to NetBSD
32990         The NetBSD library supports localtime_rz directly, and without
32991         this change 'configure' omitted the flexmember test that is marked
32992         as conditional on localtime_rz.  Emacs now needs to use
32993         flexmember.m4 even when localtime_rz works.
32994         Problem reported by Thomas Klausner.
32995         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
32996         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
32998 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
33000         * doc/misc/texinfo.tex: Copy from gnulib.
33002 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
33004         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
33006 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
33008         Use flexmembers on IBM XL C for AIX
33010         This removes a workaround where Emacs did not use flexible
33011         array members when compiled with IBM XL C.  Instead, avoid
33012         the problem by making the aliasing issues more obvious to
33013         this compiler.
33014         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
33015         * m4/flexmember.m4: Copy from gnulib.
33016         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
33017         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
33018         problem that would otherwise mess up code generated for flexible
33019         array members by IBM XL C for AIX, V12.1.
33020         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
33021         by gnulib code.
33023 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
33025         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
33027         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
33028         `tramp-drop-volume-letter' any longer, it causes collateral
33029         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
33031 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
33033         Port January __morecore changes to AIX 7.1
33035         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
33036         (__after_morecore_hook):
33037         * src/ralloc.c (__morecore):
33038         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
33039         not defined.  <malloc.h> does not declare these in AIX 7.1.
33041 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
33043         Define _GNU_SOURCE in files delaying config.h
33045         Problem reported by Richard Copley in:
33046         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
33047         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
33048         Define early.
33050 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
33052         Update the bidi test code and data
33054         * test/manual/BidiCharacterTest.txt: Import the version from
33055         Unicode Standard 9.0.0.
33056         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
33057         in the 4th field of the test data.
33059 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
33061         ibuffer-do-toggle-read-only: Fix unused argument
33063         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
33064         'read-only-mode' with ARG when its an integer.
33065         Clarify the meaning of ARG in doc string.
33067 2016-09-17  Alan Mackenzie  <acm@muc.de>
33069         Improve accuracy of line/column numbers in byte compiler's warning messages.
33071         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
33072         value of byte-compile-last-position is not lower than old value.
33073         (byte-compile-function-warn): call byte-compile-set-symbol-position.
33075 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
33077         Minor Tramp tweaks
33079         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
33080         property "process-buffer" if already existing.
33081         (tramp-connectable-p): Suppress debug messages.
33083 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
33085         Define _GNU_SOURCE in unexmacosx.c
33087         Problem reported by Bob Halley in:
33088         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
33089         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
33091 2016-09-16  Alan Mackenzie  <acm@muc.de>
33093         C Mode: Fix mis-fontification of macro invocation as function declaration
33095         This happened with a macro invocation which was followed by a statement block
33096         in braces.
33098         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
33099         between contexts nil and top, being less permissive in the former case.
33100         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
33102 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
33104         Improve the doc string of 'format'
33106         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
33107         of a literal period.  (Bug#24407)
33109 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
33111         Improve doc strings in whitespace.el
33113         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
33114         (global-whitespace-mode, global-whitespace-newline-mode): Improve
33115         the doc strings.  (Bug#24413)
33117 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
33119         Improve detectability of 'next-logical-line' and 'previous-logical-line'
33121         * lisp/simple.el (next-line, previous-line): Mention
33122         'next-logical-line' and 'previous-logical-line' in the doc
33123         strings.  (Bug#24443)
33125 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
33127         Update from gnulib
33129         This incorporates:
33130         2016-09-16 extensions: fix typo in comment
33131         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
33132         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
33134 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33136         Prefer now-standard int width macros
33138         * src/data.c (ULL_WIDTH):
33139         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
33140         * src/lread.c (read_integer):
33141         * src/term.c (produce_glyphless_glyph):
33142         * src/xterm.c (x_send_scroll_bar_event):
33143         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
33144         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
33145         with the *_WIDTH standard macros.  All uses changed.
33146         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
33147         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
33148         for consistency with the *_WIDTH standard macros.  All uses changed.
33149         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
33150         be the same as CHAR_WIDTH and avoids confusion with Elisp
33151         char-width, which counts columns not bits.
33152         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
33153         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
33154         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
33155         used directly.
33157 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33159         Update from gnulib
33161         This incorporates:
33162         2016-09-15 stdint: support new _WIDTH macros
33163         2016-09-15 limits-h: new module
33164         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
33165         2016-09-15 extensions: port to more ISO C TSes
33166         2016-09-13 intprops: new macro TYPE_WIDTH
33167         2016-09-13 extensions: port to recent ISO C TRs
33168         * .gitignore: Add lib/limits.h.
33169         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
33170         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
33171         * m4/sys_types_h.m4: Copy from gnulib.
33172         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33173         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
33174         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
33176 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
33178         Rework fixing Bug#24432
33180         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
33181         "process-buffer" in order to mark connection as active.
33183         * lisp/net/tramp-cache.el (tramp-get-hash-table)
33184         (tramp-set-connection-property)
33185         (tramp-dump-connection-properties): Do not use "active" property.
33186         (tramp-list-connections): Use "process-buffer" property.
33188         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
33189         properties prior deletion of process.
33191 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
33193         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
33195         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
33197 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
33199         Avoid compiler warning on MS-Windows due to clone_file
33201         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
33202         call to it is not compiled in that build, and having it defined
33203         causes compiler warnings.
33205 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
33207         Avoid aborts in GC due to abort_on_gc
33209         * src/lisp.h:
33210         * src/print.c (Fprin1_to_string):
33211         * src/eval.c (signal_or_quit):
33212         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
33213         and testing the value of abort_on_gc.  It is no longer needed, and
33214         using it causes rare aborts in GC for no good reason.  (Bug#23912)
33216 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
33218         Fix Bug#24432
33220         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
33221         connection as inactive.
33222         (tramp-set-connection-property): Make the connection active.
33223         (tramp-dump-connection-properties): Don't save "active" property.
33224         (tramp-list-connections): List only active connections.  (Bug#24432)
33226 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
33228         Don't bug out on all-whitespace URLs
33230         * lisp/net/shr.el (shr-expand-url): Don't bug out on
33231         degenerate all-whitespace URLs.
33233 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
33235         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
33237         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
33238         Rename from sieve-manage-ignore-broken-tls.  If it is set,
33239         sieve-manage will never use STARTTLS even if the server says
33240         it is capable (but may be broken).
33242 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
33244         Port to ISO/IEC TS 18661-1:2014
33246         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
33247         All uses changed.
33249 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
33251         dired-jump: Expand file-name before dired-goto-file call
33253         Command dired-goto-file requires its argument to be an absolute
33254         file name.  Interactively FILE-NAME is read with read-file-name,
33255         which could return an abbreviated file name (Bug#24409).
33256         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
33257         Clarify in doc string the meaning of arg FILE-NAME.
33259 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
33261         Add test for Bug#21454
33263         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
33265 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
33267         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
33269 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
33271         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
33273         * lisp/net/sieve.el (sieve-edit-script):
33274         Make the buffer to edit be not modified-p initially (bug#24423).
33276 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
33278         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
33280         * lisp/net/sieve-manage.el
33281         (sieve-manage-ignore-broken-tls): New user option.
33282         (sieve-manage-open-server):
33283         Don't test STARTTLS capability if the option is set (bug#24422).
33285 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
33287         Fix compiler thinking width and height may be unitialized in frame.c
33289         This fixes the following warning:
33291                 frame.c: In function ‘x_set_frame_parameters’:
33292                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
33293                         this function [-Werror=maybe-uninitialized]
33294                        adjust_frame_size (f, width_change ? width : -1,
33295                                  ^
33297         * src/frame.c (x_set_frame_parameters): Drop width_changed and
33298         height_changed variables in favour of storing that information in
33299         width and height variables.
33301 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
33303         Fix compiler thinking tmpdir may be unitialized in emacsclient
33305         This fixes the following warning:
33307                 emacsclient.c: In function ‘set_local_socket’:
33308                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
33309                         ‘tmpdir’ may be used uninitialized in this function
33310                         [-Werror=maybe-uninitialized]
33311                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
33312                    ^
33313                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
33314                      const char *tmpdir;
33316         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
33317         variable and instead use tmpdir being non-NULL as sign that it should
33318         be used.
33320 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
33322         image-dired: Signal an error before calling a missing executable
33324         Reverts commit ca473907
33325         Add a defun to check if an executable exists, and call it
33326         on each function using an external program: when the executable
33327         is not available signal an error.
33328         See discussion on:
33329         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
33330         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
33331         Throw and error when the executable arg is missing.
33332         (image-dired-display-image, image-dired-rotate-thumbnail)
33333         (image-dired-rotate-original, image-dired-set-exif-data)
33334         (image-dired-get-exif-data):
33335         Use it.
33337 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
33339         Fix daemon shutdown when emacs-kill-hooks ask questions
33341         * lisp/server.el (server-start): Put the server's kill-emacs-hook
33342         last, to allow other hooks to have a frame to interact with the
33343         user.  (Bug#24326)
33345 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
33347         * src/casefiddle.c (casify_word): Simplify.
33349         * src/casefiddle.c (casify_word): Return Qnil.
33351 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
33353         Refactor common code in {upcase,downcase,capitalize}-word functions
33355         * src/casefiddle.c (operate_on_word): Removed in favour of…
33356         (casify_word) …new function which does what operate_on_word did plus
33357         what all of the common code from *-word functions.
33358         (upcase-word, downcase-word, capitalize-word): Move code common between
33359         those functions (pretty much the whole body of those functions) into
33360         casify_word and use that instead of now deleted operate_on_word.
33362 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
33364         * doc/lispref/files.texi: Remove @vindex.
33366 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
33368         Remove unnecessary ref to coreutils manual
33370         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
33372 2016-09-11  Alan Mackenzie  <acm@muc.de>
33374         Correctly fontify C++ direct initializations with parens inside functions
33376         Or, more clearly, when something looks like a function declaration and it's
33377         inside a function, fontify it as a direct initialization.
33379         For this purpose, introduce a "brace stack" for each buffer, where an entry on
33380         the brace stack states how deeply nested a particular position is inside
33381         braces inside a "top level", which includes classes and namespaces.
33383         Also introduce a new "context", "top", with which c-font-lock-declarations
33384         signals to c-forward-decl-or-cast-1 that point is at the top level.
33386         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
33387         c-truncate-bs-cache.
33388         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
33389         (c-type-decl-operator-prefix-key): new language constants/variables.
33391         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
33392         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
33393         stack cache.
33394         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
33395         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
33396         (c-find-decl-prefix-search): Keep track of whether we're at top level.
33397         (c-find-decl-spots): New local variable cfd-top-level which records what it
33398         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
33399         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
33400         to non-nil when a match for c-type-decl-operator-prefix-key is found.
33401         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
33402         Introduce "CASE 9.5", which recognizes direct initializations.
33404         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
33405         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
33406         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
33407         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
33408         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
33409         participate in the decision whether to fontify an identifier as a function or
33410         a variable.
33411         (c-font-lock-declarations): The internal lambda function takes an additional
33412         argument `toplev' from c-find-decl-spots, which it uses in determining the
33413         "context" of a declaration.  Add appropriate `not-top' argument to calls to
33414         c-font-lock-declarators.
33415         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
33416         like for c-font-lock-declarators.
33418         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
33419         cache.
33421 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
33423         Avoid signaling errors when computing "Stop" in GDB menu
33425         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
33426         'gdb-running-threads-count' must have a numeric value.
33427         (Bug#24414)
33429 2016-09-11  Philipp Stephani  <phst@google.com>
33431         Stop calling ‘byte-compile-log-warning’
33433         For errors, use ‘byte-compile-report-error’ instead so that the error
33434         is registered and causes compilation to fail (Bug#24359).
33436         For warnings, use ‘byte-compile-warn’ instead so that
33437         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
33439         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
33440         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
33441         ‘byte-compile-log-warning’.
33443         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
33444         (byte-compile-setq, byte-compile-funcall): Use
33445         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
33446         (byte-compile-log-warning): Convert comment to documentation
33447         string.  Explain that the function shouldn’t be called directly.
33448         (byte-compile-report-error): Add optional FILL argument.
33450         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
33451         (cconv--analyze-function, cconv-analyze-form): Use
33452         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
33454         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
33455         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
33457         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
33458         of ‘byte-compile-log-warning’.
33459         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
33460         ‘byte-compile-log-warning’.
33462 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
33464         * etc/NEWS: Remove comment lost in emacs-25 merge.
33466 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
33468         Document file synchronization issues
33470         * doc/lispref/files.texi (Files and Storage): New section.
33472 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
33474         copy-file now uses GNU/Linux file cloning
33476         From a suggestion by Kieran Colford (see Bug#23904).
33477         * configure.ac: Check for linux/fs.h.
33478         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
33479         (clone_file): New function.
33480         (Fcopy_file): Use it.
33482 2016-09-10  Alan Third  <alan@idiocy.org>
33484         Invert y coord of NS image files (bug#7847)
33486         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
33487         when compositing.
33489 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
33491         Don't require isearch-update before isearch-done
33493         It is useful to be able to call `isearch-done' unconditionally to
33494         ensure a non-isearching state.
33496         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
33497         is a live buffer before using it (Bug #21091).
33498         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
33500 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
33502         * lisp/emacs-lisp/ring.el: Use lexical-binding
33504         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
33505         argument of `dotimes' when the iteration variable isn't referred by
33506         it.
33507         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
33508         since it's the default.
33510 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33512         Split regex character class test into smaller chunks
33514         Having one test for all character classes it is not always trivial to
33515         determine which class is failing.  This happens when failure is caused
33516         by ‘(should (equal (point) (point-max)))’ not being met.
33518         With per-character class tests, it is immidiatelly obvious which test
33519         causes issues plus tests for all classes are run even if some of them
33520         fail.
33522         * test/src/regex-tests.el (regex-character-classes): Delete and split
33523         into…
33524         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
33525         regex-tests-ascii-character-class, regex-tests-blank-character-class,
33526         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
33527         regex-tests-graph-character-class, regex-tests-lower-character-class,
33528         regex-tests-multibyte-character-class,
33529         regex-tests-nonascii-character-class,
33530         regex-tests-print-character-class, regex-tests-punct-character-class,
33531         regex-tests-space-character-class,
33532         regex-tests-unibyte-character-class,
33533         regex-tests-upper-character-class, regex-tests-word-character-class,
33534         regex-tests-xdigit-character-class): …new tests.
33536 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33538         Don’t allocate char-table’s extra slots in regexp-out-charset
33540         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
33541         'case-table as charmap char-table’s property.  The function has nothing
33542         to do with casing and in addition using 'case-table causes unnecessary
33543         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
33545 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33547         Remove dead loop iterations in regex.c
33549         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
33550         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
33551         for byte8 characters.  This means that
33553                 c = RE_CHAR_TO_MULTIBYTE (ch);
33554                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
33556         is equivalent to:
33558                 c = c;
33559                 if (! false && re_iswctype (c, cc))
33561         for 0 ⪬ c < 0x80, and
33563                 c = BYTE8_TO_CHAR (c);
33564                 if (! true && re_iswctype (c, cc))
33566         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
33567         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
33569         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
33570         dead iterations and unnecessary macro calls.
33572 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33574         Replace decimalnump with alphanumericp
33576         decimalnump was used in regex.c only in ISALNUM macro which ored it with
33577         alphabeticp.  Because both of those functions require Unicode general
33578         category lookup, this resulted in unnecessary lookups (if alphabeticp
33579         return false decimalp had to perform another lookup).  Drop decimalnump
33580         in favour of alphanumericp which combines decimelnump with alphabeticp.
33582         * src/character.c (decimalnump): Remove in favour of…
33583         (alphanumericp): …new function.
33585         * src/regex.c (ISALNUM): Use alphanumericp.
33587 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33589         Remove inaccurate comment in regex.c
33591         * src/regex.c (regex_compile): Remove comment indicating that wctype of
33592         some character classes may be negative.  All wctypes are in fact
33593         non-negative.
33595 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
33597         STRING_CHAR does not unify characters; update documentation
33599         * src/character.h (STRING_CHAR): Update doc.
33600         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
33601         the function to use BYTE_POS_ADDR instead of open-coding it.
33603 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
33605         Add tests for ring.el
33607         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
33609 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
33611         New file test/src/marker-tests.el
33613 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
33615         Port flexible array members to GCC + valgrind
33617         These changes are needed to conform to the C standard's rule for
33618         allocating structs containing flexible array members.  C11 says
33619         that malloc (offsetof (struct s, m) + n) does not suffice to
33620         allocate a struct with an n-byte tail; instead, malloc’s arg
33621         should be rounded up to the nearest multiple of alignof (struct s).
33622         Although this is arguably a defect in C11, gcc -O2 + valgrind
33623         sometimes complains when this rule is violated, and when debugging
33624         it’s better to keep valgrind happy.
33625         For details please see the thread containing the message at:
33626         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
33627         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
33628         Include flexmember.h.
33629         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
33630         (register_namespace_alias):
33631         * src/alloc.c (SDATA_SIZE, allocate_string_data):
33632         * src/image.c (xpm_cache_color, imagemagick_create_cache):
33633         * src/process.c (Fmake_network_process):
33634         Use FLEXSIZEOF instead of offsetof and addition.
33635         * src/alloc.c (SDATA_SIZE, vector_alignment):
33636         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
33637         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
33638         Remove, as alloc.c can now calculate this on its own.
33640 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
33642         Update from gnulib
33644         This incorporates:
33645         2016-09-07 flexmember: new macro FLEXALIGNOF
33646         2016-09-07 flexmember: port better to GCC + valgrind
33647         2016-08-18 Port modules to use getprogname explicitly
33648         2016-09-02 manywarnings: add -fno-common
33649         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
33650         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
33651         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
33652         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
33653         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
33654         * m4/manywarnings.m4: Copy from gnulib.
33655         * lib/flexmember.h: New file, from gnulib.
33656         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33658 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
33660         Don't --load directories
33662         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
33663         of --load when it refers to a normal file, since `load' doesn't handle
33664         directories (Bug #16406).
33666 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
33668         Avoid error in icalendar--read-element
33670         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
33671         stack overflow by not using regex to extract values from calendar
33672         events. (Bug#24315)
33674 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
33676         Fix back-white <-> black-white typo
33678         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
33680 2016-09-07  Alan Third  <alan@idiocy.org>
33682         Fix cursor at bottom left of rectangle (bug#24364)
33684         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
33685         require rectangle--point-crutches to be set.
33687 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
33689         Fix documentation of convert-standard-filename on MS-Windows
33691         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
33693         * etc/NEWS: Suggest a way for mirroring slashes where previously
33694         'convert-standard-filename' was used.
33696 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33698         Use DEV_TTY more consistently
33700         * src/conf_post.h (DEV_TTY): Move from here ...
33701         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
33702         to be visible everywhere.  Make it a constant.
33703         * src/keyboard.c (handle_interrupt, Fset_quit_char):
33704         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
33706 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
33708         Avoid assertion violations when using marker positions
33710         * src/intervals.c (set_point_from_marker): If MARKER comes from
33711         another buffer, recalculate its byte position before using it to
33712         set point.
33713         * src/marker.c (set_marker_internal): If POSITION is a marker from
33714         another buffer, recalculate its byte position before using it.
33715         (Bug#24368)
33717 2016-09-06  Alan Mackenzie  <acm@muc.de>
33719         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
33721 2016-09-06  Alan Mackenzie  <acm@muc.de>
33723         New options for handling of literals in c-syntactic-re-search-forward
33725         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
33726         be given the values `before-literal' and `after-literal', so that when a
33727         search fails, and the `bound' is inside a literal, point is left respectively
33728         before or after that literal.
33730 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
33732         Avoid assertion violations when scrolling narrowed buffer
33734         * src/window.c (window_scroll_pixel_based):
33735         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
33736         start outside the accessible portion of the buffer.  This avoids
33737         assertion violations when some Lisp narrows the buffer to less
33738         than the current window, and then attempts to scroll the buffer.
33740 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
33742         Treat SIGINT correctly in GUI sessions on MS-Windows
33744         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
33745         supported by MS runtime.
33746         * src/term.c (DEV_TTY): Move from here ...
33747         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
33748         for WINDOWSNT and for the rest.
33749         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
33750         a literal "/dev/tty".
33752         * etc/NEWS: Mention the behavior change.
33754 2016-09-04  Alan Third  <alan@idiocy.org>
33756         Fix synthetic bold on macOS retina displays
33758         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
33759         factor by the OS window backing scale factor.
33761 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
33763         image-dired: Report when a necessary executable is not found
33765         See discussion on:
33766         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
33767         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
33768         (image-dired-cmd-create-thumbnail-program)
33769         (image-dired-cmd-create-temp-image-program)
33770         (image-dired-cmd-rotate-thumbnail-program)
33771         (image-dired-cmd-write-exif-data-program)
33772         (image-dired-cmd-read-exif-data-program):
33773         Use executable-find to set the default value of this option.
33774         (image-dired-cmd-rotate-original-program): Idem.
33775         Search for program 'convert' if 'jpegtran' is not available.
33776         (image-dired-cmd-rotate-original-options):
33777         Set the default value consistent with the executable in
33778         image-dired-cmd-rotate-original-program.
33779         (image-dired-create-thumb, image-dired-display-image)
33780         (image-dired-rotate-thumbnail, image-dired-rotate-original)
33781         (image-dired-set-exif-data, image-dired-get-exif-data):
33782         Throw and error when the executable used in the function is missing.
33783         (image-dired-next-line, image-dired-previous-line):
33784         Use 'forward-line'.
33786 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
33788         image-type-from-file-name: Perform a case insensitive match
33790         Fix Bug#24317
33791         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
33792         to a non-nil value to force a case insensitive match.
33793         * lisp/image-dired.el (image-dired-rotate-original):
33794         Use image-type (Bug#24317).
33795         (image-dired-get-exif-file-name): Idem.
33796         Set 'no-exif-data-found' and 'data' in same setq call.
33797         Use file-attribute-modification-time.
33799 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
33801         image-increase-size: Fix non-interactive calls
33803         * lisp/image.el (image-increase-size, image-decrease-size):
33804         Compute a floating point division.
33805         Problem reported in:
33806         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
33808 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
33810         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
33812         Passing the prefix argument as the 3rd argument to 'call-interactively'
33813         causes the prefix argument to be interpreted as events, which is not
33814         only wrong, but also causes a type error, as 'current-prefix-arg' can
33815         never be a vector as 'call-interactively' expects.  'call-interactively'
33816         automatically passes its prefix argument to the called function, so just
33817         do that, eliminating faulty behavior.
33819         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
33820         (checkdoc-ispell-current-buffer):
33821         (checkdoc-ispell-interactive):
33822         (checkdoc-ispell-message-text):
33823         (checkdoc-ispell-start):
33824         (checkdoc-ispell-continue):
33825         (checkdoc-ispell-comments):
33826         (checkdoc-ispell-defun):
33827         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
33828         vector; merely allow it to propagate forward to the interactive call.
33830 2016-09-03  Richard Stallman  <rms@gnu.org>
33832         Fix mail-combine-fields
33834         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
33835         avoid losing our place in the search loop.
33837 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33839         Check actual contents before promting about changed file
33841         * lisp/userlock.el (userlock--check-content-unchanged)
33842         (userlock--ask-user-about-supersession-threat): New functions.
33843         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
33844         * doc/lispref/buffers.texi (Modification Time): Update doc of
33845         ask-user-about-supersession-threat.
33847 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
33849         Make a reference to fakecygpty in the Tramp manual
33851         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
33852         fakecygpty on the Emacs Wiki.
33853         (Frequently Asked Questions): Fix url.
33855 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33857         Don’t create fd >= FD_SETSIZE
33859         This avoids a potential crash if too many subprocesses (Bug#24325).
33860         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
33861         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
33862         set it to FD_SETSIZE.
33864 2016-09-01  Alan Mackenzie  <acm@muc.de>
33866         Fix c-declaration-limits to return correct limits in all cases.
33868         This function is the guts of c-indent-defun and c-mark-function.
33870         In particular, when c-defun-tactic is nil, return a correct value rather than
33871         always nil, and when it's 'go-outward, go through an intricate algorithm to
33872         determine the requisite narrowing before the "top-level" defuns go to work.
33874         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
33875         to take additional optional parameter LEVEL, saying how many enclosing levels
33876         of decl-block to narrow to.
33877         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
33878         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
33879         lower bound.
33881 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
33883         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
33885 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
33887         Avoid compiler warnings with MinGW64 GCC 6
33889         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
33890         the GCC 6 builtin, to avoid warnings.  For more details, see
33891         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
33893 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33895         Fix over-substitution of quotes on error
33897         Problem reported by Tino Calancha in:
33898         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
33899         * src/print.c (print_error_message):
33900         Substitute quotes in errmsg only when gotten from a property.
33902 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33904         Improve testing of etags
33906         * test/manual/etags/y-src/cccp.c:
33907         * test/manual/etags/y-src/parse.c: Correct #line directives to
33908         allow testing invalidate_nodes in etags.c.
33909         * test/manual/etags/ETAGS.good_1:
33910         * test/manual/etags/ETAGS.good_2:
33911         * test/manual/etags/ETAGS.good_3:
33912         * test/manual/etags/ETAGS.good_4:
33913         * test/manual/etags/ETAGS.good_5:
33914         * test/manual/etags/ETAGS.good_6:
33915         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
33917 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33919         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
33921 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33923         Fix etags problems found by static checking
33925         * lib-src/etags.c (invalidate_nodes, put_entry):
33926         Remove now-unnecessary tests for null pointers.  Simplify.
33927         (put_entries): Rewrite to avoid GCC 6.2 warning about
33928         dereferencing null pointer.
33930 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33932         Fix a thinko in etags.c
33934         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
33935         a null pointer.
33937 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
33939         Avoid recursive calls in etags
33941         * lib-src/etags.c (stack_entry): New struct.
33942         (push_node, pop_node, put_entry): New functions.
33943         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
33944         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
33946 2016-08-31  Leo Liu  <sdl.web@gmail.com>
33948         Add 451 to url-http-codes
33950         * lisp/url/url-http.el (url-http-codes): Add 451.
33952 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33954         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
33956 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33958         Minor doc quoting fixes
33960         * doc/misc/htmlfontify.texi (Interactive):
33961         * lisp/htmlfontify.el (htmlfontify-buffer):
33962         Spell out character names, for clarity.  The old doc string
33963         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
33964         stands for a form feed character; this was confusing.
33965         * lisp/electric.el (electric-quote-mode):
33966         * src/doc.c (syms_of_doc):
33967         * src/editfns.c (Fformat_message):
33968         Remove no-longer-necessary ‘\=’s in doc strings.
33970 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33972         Update from gnulib
33974         This incorporates:
33975         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
33976         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
33977         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
33978         2016-08-29 intprops.h: use __typeof__ with GCC 7
33979         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
33980         2016-08-24 intprops: fix paren typo on old platforms
33981         2016-08-24 intprops: port to OpenVMS
33982         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
33984 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
33986         Fix rules for \phi and \varphi which were reversed
33988         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
33989           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
33990           were reversed which is not true (anymore?).
33992 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
33994         Fix prettification of \phi, \varphi, and \varsigma
33996         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
33997           prettification of \phi, \varphi, and \varsigma.
33999         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
34000         \varsigma was commented out with a FIXME that it was reversed with
34001         \sigma which it was not.
34003 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
34005         Use normal double quotes in TeX / LaTeX comments
34007         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
34008           default to inserting a normal double quote (") instead of TeX-style
34009           open (``) or close ('') quote marks.
34011         * etc/NEWS (TeX mode): Note the change.
34013         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
34015         See this thread for discussion:
34017           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
34018           From: Karl Fogel <kfogel {_AT_} red-bean.com>
34019           To: Emacs Development <emacs-devel {_AT_} gnu.org>
34020           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
34021           Date: Mon, 29 Aug 2016 14:44:12 -0500
34022           Message-ID: <87twe3icmr.fsf@red-bean.com>
34024 2016-08-30  Alan Mackenzie  <acm@muc.de>
34026         Correctly analyze C++ list initialization in member init areas.
34028         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
34029         superfluous call to c-backward-syntactic-ws.
34030         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
34031         reports encountering the Java "new" keyword.  Add, as an alternative, a check
34032         that we can move back over member initializations, and handle this as finding
34033         a brace block.
34034         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
34035         new calling convention of c-looking-at-or-maybe-in-bracelist.
34036         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
34037         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
34038         using the extra info from the value of that function to generate a
34039         topmost-into-cont element where needed (in Java).
34041         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
34042         calling convention of c-looking-at-or-maybe-in-bracelist.
34044         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
34045         convention of c-looking-at-or-maybe-in-bracelist.
34047 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
34049         Use `file-attribute-*' in Tramp
34051         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
34052         (tramp-compat-file-attribute-link-number)
34053         (tramp-compat-file-attribute-user-id)
34054         (tramp-compat-file-attribute-group-id)
34055         (tramp-compat-file-attribute-modification-time)
34056         (tramp-compat-file-attribute-size)
34057         (tramp-compat-file-attribute-modes): New defaliases.
34059         * lisp/net/tramp.el (tramp-handle-file-modes)
34060         (tramp-handle-file-newer-than-file-p)
34061         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
34062         (tramp-handle-set-visited-file-modtime)
34063         (tramp-handle-verify-visited-file-modtime)
34064         (tramp-get-local-gid, tramp-check-cached-permissions):
34065         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
34066         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
34067         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
34068         (tramp-gvfs-handle-file-directory-p)
34069         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
34070         (tramp-gvfs-get-remote-gid):
34071         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
34072         (tramp-sh-handle-set-visited-file-modtime)
34073         (tramp-sh-handle-verify-visited-file-modtime)
34074         (tramp-sh-handle-file-newer-than-file-p)
34075         (tramp-sh-handle-file-ownership-preserved-p)
34076         (tramp-do-copy-or-rename-file)
34077         (tramp-do-copy-or-rename-file-via-buffer)
34078         (tramp-do-copy-or-rename-file-directly)
34079         (tramp-do-copy-or-rename-file-out-of-band)
34080         (tramp-sh-handle-file-local-copy)
34081         (tramp-sh-handle-write-region):
34082         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
34083         (tramp-smb-handle-copy-file)
34084         (tramp-smb-handle-file-directory-p)
34085         (tramp-smb-handle-file-writable-p)
34086         (tramp-smb-handle-insert-directory): Use them.
34088 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
34090         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
34092         * lisp/window.el (pop-to-buffer): Don't assume that
34093         `display-buffer' has supplied a window (Bug#24332).
34094         Rename BUFFER argument to BUFFER-OR-NAME.
34095         * doc/lispref/windows.texi (Switching Buffers): Fix
34096         `pop-to-buffer' documentation.
34098 2016-08-29  Alan Third  <alan@idiocy.org>
34100         Clarify docstrings
34102         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
34104 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
34106         Use `process-live-p' in Tramp
34108         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
34110         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
34111         (tramp-handle-file-notify-valid-p)
34112         (tramp-action-process-alive, tramp-action-out-of-band)
34113         (tramp-wait-for-regexp):
34114         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
34115         (tramp-adb-maybe-open-connection):
34116         * lisp/net/tramp-cache.el (tramp-get-connection-property):
34117         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
34118         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
34119         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
34120         * lisp/net/tramp-sh.el (tramp-process-sentinel)
34121         (tramp-sh-handle-file-notify-add-watch)
34122         (tramp-maybe-open-connection):
34123         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
34124         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
34125         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
34126         (tramp-smb-get-cifs-capabilities)
34127         (tramp-smb-get-stat-capability)
34128         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
34129         (tramp-smb-kill-winexe-function): Use it.
34131 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
34133         Avoid crashes for invalid value of key modifiers
34135         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
34136         is not a symbol, don't try to recognize it.  See
34137         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
34138         for the details.
34140         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
34141         test, for testing the above fix.
34143 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
34145         Make dired-do-compress understand files with spaces in them
34147         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
34148           and `literal' flag to `replace-regexp-in-string'.
34150 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34152         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
34154 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
34156         Add tests for dom.el
34158         * test/lisp/dom-tests.el: New file with tests for dom.el.
34160 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34162         Memory allocator alignment fixes
34164         These changes remove some assumptions about heap allocator
34165         alignment that may not be true on unusual platforms.
34166         * src/alloc.c (POWER_OF_2): New macro.
34167         (ROUNDUP): Use it.
34168         (BLOCK_ALIGN): Verify that it is a power of 2.
34169         (aligned_alloc): Check that alignment passed to posix_memalign
34170         satisfies POSIX restrictions.
34171         (lisp_align_malloc): Check that size passed to aligned_alloc
34172         satisfies C11 restrictions.
34173         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
34174         code has not been verified to work with other GCALIGNMENT values
34175         and the ice is thin here.  On GNU/Linux, malloc can return a value
34176         that is a multiple of 8 but not 16, even though __alignof__
34177         (max_align_t) is 16.  See:
34178         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
34179         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
34180         is a multiple of alignment, since C11 says the behavior is
34181         undefined otherwise.
34182         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
34183         general this macro is restricted to signed types.  Remove
34184         assertion that the result is a multiple of GCALIGNMENT, as that
34185         need not be true.
34187 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34189         Pacify --enable-gcc-warnings for lib-src/pop.c
34191         * lib-src/pop.c: Include c-ctype.h.
34192         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
34193         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
34194         of the (undeclared) isupper and tolower.  Fix pointer constness
34195         problem.
34197 2016-08-27  Alan Mackenzie  <acm@muc.de>
34199         Handle the C++ "identifiers" "final" and "override" correctly.
34201         This fixes bug #24319, allowing destructors affixed with these identifiers to
34202         be correctly fontified.
34204         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
34205         After reaching the "end" of a type expression, skip over any occurrences of
34206         c-type-decl-suffix-ws-ids-key.
34208         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
34209         "final" from the C++ value.
34210         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
34211         constants/variables for "final" and "override".
34213 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
34215         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
34217 2016-08-27  Alan Mackenzie  <acm@muc.de>
34219         Handle template delimiters in C++ member init constructs.
34221         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
34222         handling for "<....>"s.
34224 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
34226         Fix etags test suite messed up by merges from emacs-25
34228         * test/manual/etags/go-src/test.go:
34229         * test/manual/etags/go-src/test1.go: Move from test/etags/.
34230         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
34231         * test/etags/: Directory deleted.
34233 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
34235         Add "supports" to list of CSS at-rules
34237         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
34239 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
34241         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
34243         (Bug#22478)
34245 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
34247         Rename option to shell-command-dont-erase-buffer
34249         Suggested by Clément Pit--Claudel in:
34250         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
34251         * lisp/simple.el (shell-command-dont-erase-buffer):
34252         (shell-command--save-pos-or-erase):
34253         (shell-command--set-point-after-cmd):
34254         (shell-command-on-region):
34255         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
34256         * etc/NEWS (Changes in Emacs 25.2):
34257         Rename from shell-command-not-erase-buffer.
34259 2016-08-25  Alan Mackenzie  <acm@muc.de>
34261         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
34263         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
34264         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
34265         the loop won't hang at a "terminating" paren of a different type (due to the
34266         c-syntactic-re-search-forward at the end of the loop stopping at such
34267         characters).
34269 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
34271         call-shell-region: New defun
34273         Suggested by Stefan Monnier in Bug#22679.
34274         * lisp/subr.el (call-shell-region): New defun; execute a command
34275         in an inferior shell with the buffer region as input.
34276         * lisp/simple.el (shell-command-on-region): Use it.
34277         * lisp/gnus/message.el (message-do-fcc): Idem.
34278         * doc/lispref/processes.texi: Document call-shell-region in the manual.
34279         ;* etc/NEWS: Add entry for this new function.
34281 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
34283         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
34285         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
34286         argument in `pop-to-buffer' call (Bug#24306).
34288 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
34290         Some fixes around `delete-other-frames' and `next-frame'
34292         * src/frame.c (Fdelete_frame): Clarify doc-string.
34293         * lisp/frame.el (delete-other-frames): Delete other frames on
34294         FRAME's terminal instead of the current terminal.  Delete
34295         non-minibuffer-only surrogate frames too.  See
34296         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
34297         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
34298         docs of `delete-frame' and `frame-live-p'.  Add entry for
34299         `delete-other-frames'.
34300         (Finding All Frames): Fix doc of `next-frame'.
34302 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
34304         Find message.el thumbnail toggling
34306         * lisp/gnus/message.el (message-toggle-image-thumbnails):
34307         Don't infloop when toggling thumbnails.
34309 2016-08-24  Alan Third  <alan@idiocy.org>
34311         Fix macOS 12 deprecation notices
34313         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
34314         new constant names.
34315         * src/nsmenu.m: Replace old constant names with
34316         new.
34317         (fillWithWidgetValue): Remove calls to deprecated
34318         setMenuChangedMessagesEnabled.
34319         * src/nsterm.m: Replace old constant names with new.
34320         * src/nsfns.m: Replace old constant names with new.
34322 2016-08-23  Alan Mackenzie  <acm@muc.de>
34324         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
34326         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
34327         directly preceding the colon, and handle it.
34329 2016-08-23  Noah Friedman  <friedman@splode.com>
34331         * src/xfns.c (Fx_change_window_property): Modify previous change.
34332         Instead of forcing format to 8 for strings, check that the length of
34333         the string is appropriate for whatever format given.
34334         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
34335         try its outer window.  This mimics the behavior of Fx_window_property.
34337 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
34339         Fix invalid image rotations
34341         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
34343 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
34345         call-process instead of call-process-region with empty region
34347         * lisp/calc/calc-graph.el (calc-graph-show-tty):
34348         Use call-process and shell-command-switch.
34350 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34352         Merge from origin/emacs-25
34354         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
34355         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
34356         73cbb81 ; ChangeLog spelling fixes
34357         9b99772 Some assorted documentation clarifications
34358         37d4723 Improve commentary in src/character.h
34359         5ccd593 ; Fix typo in /etc/NEWS
34360         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
34361         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
34362         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
34363         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
34365         # Conflicts:
34366         #       ChangeLog.2
34367         #       lisp/ldefs-boot.el
34369 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34371         Merge from origin/emacs-25
34373         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
34375 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34377         Merge from origin/emacs-25
34379         8c2946e In NEWS describe new handling of window margins (Bug#24193)
34380         0cee66c Facultatively ignore margins when splitting and resizing wind...
34381         8d68147 Document CATEGORY arg to modify-category-entry
34382         8342e74 Document char-script-table's effect on word motion
34383         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
34384         0695235 Fix docstring of eval-expression
34385         98b01dd Clarify when 'cursor' property is in effect
34386         75f1882 Convert the remaining strings to unibyte before concatenating
34387         d2db5dd Fix bug with handling the bidi cache
34388         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
34389         f785ff4 Clarify documentation of before/after-change-functions
34390         3c9cb57 Document use of vectors in keymaps
34392         # Conflicts:
34393         #       src/xdisp.c
34395 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
34397         Handle remote file names in gdb-mi.el
34399         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
34400         If `default-directory' is remote, full file names are adapted
34401         accordingly.  (Bug#23608)
34403 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
34405         Display mini-window resized even when there are several frames
34407         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
34408         t to avoid resizing back the mini-window as result of considering
34409         the title of other frames.  (Bug#24285)
34410         (redisplay_window): No need to bind inhibit-redisplay here.
34412 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
34414         Explain gdb warning on remote hosts
34416         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
34417         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
34419 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
34421         Fix (next-frame nil t) crash (Bug#24281)
34423         * src/frame.c (candidate_frame): Check minibuf argument before
34424         comparing it to zero (Bug#24281).
34426 2016-08-21  Noah Friedman  <friedman@splode.com>
34428         Fix interpretation of signed vs unsigned values when retrieving X
34429         Window properties, and make sure the full value is returned when not
34430         parsed.
34432         New subr to export type and format information about X Window
34433         properties to lisp.
34435         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
34436         unsigned unless its actual type is INTEGER.
34437         CARDINALs, in particular, are unsigned.
34439         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
34440         any provided format and force to 8.
34441         (x_window_property_intern): If returning value as a string, the length
34442         is actual_size times the actual format of each element, which is not
34443         necessarily bytes.
34444         (Fx_window_property_attributes): New subr.
34445         (syms_of_xfns): Declare it.
34447 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
34449         Improve error when installing non-package dirs
34451         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
34452         when no file with package info is found (Bug #19851).
34454 2016-08-21  Alan Mackenzie  <acm@muc.de>
34456         Adapt CC Mode for C++11 uniform initialization.
34458         For fontification, introduce a new "context", 'non-decl, to be used for
34459         brace
34460         lists; also a new value for the property 'c-type, called 'c-not-decl.
34462         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
34463         an ostensible symbol we're going to move over isn't a keyword.
34464         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
34465         (hence a declaration), and an unmatched open paren, perform
34466         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
34467         Whilst checking a type decl expression, check for and handle C++11's "copy
34468         initialization", where we have <type>(<constant>).  Recognize
34469         <id><id>(... (where the paren is unclosed) as a declaration.
34470         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
34471         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
34472         valid tokens other than "=".  Recognize a bracelist when preceded by a
34473         template declaration.
34474         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
34475         much inline code.
34476         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
34477         initialization starting "({" as an in-expression block, by checking for
34478         semicolons, as opposed to commas, separating elements inside it.
34479         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
34480         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
34481         preceding "=".  (CASE B-5): New code to recognize new construct "return {
34482         ...}".
34483         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
34484         "return", or "{" preceded by <type><identifier> as a bracelist.
34486         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
34487         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
34488         search for "," rather than calling c-forward-decl-or-cast-1.
34490         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
34491         constants/variables to recognize "return".
34492         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
34493         which, when preceding an identifier followed by a brace, signify the brace as
34494         a bracelist.
34496         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
34497         the start of a "local" declaration, move out from an enclosing brace when
34498         that is the start of a brace list.
34500 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34502         Update from gnulib
34504         This incorporates:
34505         2016-08-17 maint: preprocessor changes to support z/OS
34506         2016-08-17 string: rename to avoid '__string'
34507         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
34508         Copy from gnulib.
34510 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34512         Minor text-quoting-style fixes
34514         * src/charset.c (check_iso_charset_parameter):
34515         * src/frame.c (store_frame_param):
34516         * src/xselect.c (x_fill_property_data):
34517         Use grave accent for left single quote in ‘error’ format strings.
34519 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
34521         Fix semantics of 'minibuffer' frame parameter
34523         The 'minibuffer' frame parameter is now t for a normal frame
34524         (a frame with a root window plus a minibuffer window) and the
34525         frame's minibuffer window for a minibuffer-less frame (a frame
34526         whose minibuffer window is on another frame).  See also:
34527         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
34529         * src/frame.c (make_frame, make_frame_without_minibuffer)
34530         (make_minibuffer_frame): When assigning the frame's minibuffer
34531         window also store corresponding 'minibuffer' frame parameter.
34532         (store_frame_param): Move the 'minibuffer' parameter checks to
34533         the beginning so we can silently override the value before it
34534         gets stored in the parameter alist.  Fix error handling.
34535         (Fframe_parameters): Return value of 'minibuffer' parameter
34536         unmodified.
34538         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
34539         the parameter is a minibuffer window, save (minibuffer . nil)
34540         instead of (minibuffer . t).
34541         (frameset--reuse-frame): To find a non-minibuffer-only frame
34542         look out for a frame whose 'minibuffer' parameter is t instead
34543         of that frame's minibuffer window.
34544         (frameset-minibufferless-first-p): To find a minibuffer-less
34545         frame look out for a frame whose 'minibuffer' parameter is a
34546         window instead of nil.
34548 2016-08-20  Alan Mackenzie  <acm@muc.de>
34550         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
34552 2016-08-20  Alan Mackenzie  <acm@muc.de>
34554         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
34556         Check the limit both at macro expansion time (for a hard coded nil) and at run
34557         time in the generated code.  Tidy up these macros generally.
34559         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
34560         not identically nil before generating a narrow-to-region call.  Generate code
34561         to check `limit' is not nil at run time.
34562         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
34563         narrow-to-region, instead calling c-safe-scan-lists directly.
34564         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
34565         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
34566         to determine the destination position instead of generating a redundant
34567         narrow-to-region.
34569 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
34571         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
34573         The docstring referenced a non-existant parameter, as well as a
34574         parameter that has been renamed since the docstring was written. Fix
34575         both errors, fixing (Bug#24182).
34577 2016-08-19  Alan Mackenzie  <acm@muc.de>
34579         Amend hack-local-variables-prop-line not always to return any mode on line 1.
34581         This fixes bug #24266.
34583         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
34584         parameter mode-only to handle-mode.  Change its meaning, such that it being
34585         set to a value non-nil and not t removes any mode parameter from the result
34586         list.  Leave its values nil and t with the same meanings they had.
34587         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
34589 2016-08-19  Daiki Ueno  <ueno@gnu.org>
34591         Improve doc string of epg-*-program
34593         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
34594         Suggest to use Customize when setting.  (Bug#24229)
34596 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
34598         Add tests for Bug#24264
34600         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
34601         Add test for Bug#24264.
34602         (cl-seq-fill-test, cl-seq-replace-test)
34603         (cl-seq-remove-test ,cl-seq-delete-test)
34604         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
34605         (cl-seq-nsubstitute-test, cl-seq-position-test)
34606         (cl-seq-count-test, cl-seq-mismatch-test)
34607         (cl-seq-search-test, cl-seq-test-bug24264):
34608         Add tests for all functions in the file; test all keywords.
34610 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
34612         Fix bug in --eval reply message from server
34614         * lisp/server.el (server-reply-print): Fix check for truncated quote
34615         sequence at end of message. Problem reported in:
34616         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
34618 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
34620         Add tests for 'substitute-command-keys'
34622         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
34623         tests.
34625 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
34627         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
34629         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
34630         `completing-read'.
34632 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
34634         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
34636         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
34637         without any files being extracted.
34639 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
34641         Don't let window start override window point in `window-state-put' (Bug#24240)
34643         * lisp/window.el (window--state-put-2): Set 'noforce argument
34644         when restoring a window's start position.  This avoids that the
34645         effect of `set-window-point' gets overidden by that of
34646         `set-window-start' (Bug#24240).
34648 2016-08-17  Alan Mackenzie  <acm@muc.de>
34650         Fontify constructs following "::" in C++ argument lists correctly - part 2.
34652         This fixes bug #24246.
34654         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
34655         `save-match-data' around the new `looking-at' introduced by the previous CC
34656         Mode patch this evening.
34658 2016-08-17  Alan Mackenzie  <acm@muc.de>
34660         Fontify constructs following "::" in C++ argument lists correctly.
34662         This fixes bug #24246.
34664         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
34665         match" loop, test a found string for a match with c-opt-identifier-concat-key
34666         (e.g. with "::").
34668 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
34670         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
34672 2016-08-17  K. Handa  <handa@gnu.org>
34674         Fix hz encoding and decoding (bug#23814)
34676         * lisp/language/china-util.el (decode-hz-region): Pay
34677         attention to "~~}" sequence at the end of Chinese character
34678         range.
34679         (hz-category-table): New variable.
34680         (encode-hz-region): Convert non-encodable characters to
34681         \u... and \U...  Preserve ESC on ecoding.  Put
34682         `chinese-gb2312' `charset' text property in advance to force
34683         iso-2022-encoding to select chinese-gb2312 designation.
34685 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
34687         file-attribute-collect: New defun
34689         * lisp/files.el (file-attribute-collect):
34690         Return a sublist of the attributes returned by 'file-attributes'.
34691         Suggested by Ted Zlatanov in:
34693         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
34695 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
34697         Fix Bug#24203
34699         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
34701 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
34703         Improve doc string.
34705         * src/fileio.c (Ffile_name_as_directory): Be precise about the
34706         conditions under which a slash is appended.
34708 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
34710         Omit substitute-command-keys code no longer needed
34712         * src/doc.c (Fsubstitute_command_keys):
34713         Remove duplicate initializations.
34715 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
34717         Allow not erase output buffer in shell commands
34719         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
34720         not erasing the output buffer between shell commands.  Defaults to nil.
34721         (shell-command-on-region): Use it.
34722         (shell-command--save-pos-or-erase): New defun; store a buffer position
34723         if 'shell-command-not-erase-buffer' is non-nil; otherwise
34724         erase the output buffer of the shell command.
34725         (shell-command, shell-command-on-region): Use it.
34726         (shell-command--set-point-after-cmd): New defun;
34727         if 'shell-command-not-erase-buffer' is non-nil, set point
34728         in the output buffer to the position in 'shell-command-saved-pos'.
34729         (shell-command-sentinel, shell-command-on-region): Use it.
34730         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
34731         Document this feature in the manual.
34732         See discussion on:
34733         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
34735 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
34737         Rearrange Tramp manual title page
34739         * doc/misc/tramp.texi: Move @insertcopying out of the title
34740         page.  Do not use @ifnottex anymore.
34742 2016-08-15  Glenn Morris  <rgm@gnu.org>
34744         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
34746 2016-08-15  Alan Mackenzie  <acm@muc.de>
34748         Fix minor bug in c-syntactic-re-search-forward.
34750         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
34751         non-nil, and the first internal search attempt fails, point wrongly ends up at
34752         BOUND, rather than just before the next closing paren.
34754         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
34755         the above situation.
34757 2016-08-15  Alan Mackenzie  <acm@muc.de>
34759         Handle C++11 lambda functions.
34761         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
34762         handle C++ lambda functions.
34763         (c-looking-at-c++-lambda-capture-list): New function.
34765         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
34766         parameter list of a lambda function and set `context' and
34767         `c-restricted-<>-arglists' suitably for it.
34768         (c-font-lock-c++-lambda-captures): New function.
34769         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
34771         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
34772         New language constants/variables.
34773         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
34775         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
34776         function capture list.
34778 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
34780         Fix stale cache problem in Tramp
34782         * lisp/net/tramp-cache.el (tramp-get-connection-property):
34783         Check, that a process as key is still running.  (Bug#22478)
34785 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34787         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
34789 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
34791         Another fix for scroll-conservatively and overlay strings
34793         * src/xdisp.c (redisplay_window): Handle also the case where the
34794         calculated window-start point has an overlay string touching it.
34795         (Bug#24179)
34797 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
34799         Improve handling of defcustoms in tramp
34801         * doc/misc/tramp.texi: Protect all multi-line examples by
34802         @group ... @end group.  Use proper `custom-set-variables'
34803         examples.  Use consequently @option for user options.  Remove
34804         superfluous @cindex and @vindex entries.
34805         (Top): Remove reference to outdated mail archives.
34806         (Configuration): Tune references.
34807         (Default Method): Make `tramp-default-method' and
34808         `tramp-default-method-alist' a @defopt.
34809         (Default User): Make `tramp-default-user' and
34810         `tramp-default-user-alist' a @defopt.
34811         (Default Host): Make `tramp-default-host' and
34812         `tramp-default-host-alist' a @defopt.
34814         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
34815         (tramp-backup-directory-alist, tramp-auto-save-directory)
34816         (tramp-encoding-shell, tramp-encoding-command-switch)
34817         (tramp-encoding-command-interactive, tramp-default-method)
34818         (tramp-default-method-alist, tramp-default-user)
34819         (tramp-default-user-alist, tramp-default-host)
34820         (tramp-default-host-alist, tramp-default-proxies-alist)
34821         (tramp-save-ad-hoc-proxies)
34822         (tramp-restricted-shell-hosts-alist)
34823         (tramp-local-end-of-line, tramp-rsh-end-of-line)
34824         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
34825         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
34826         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
34827         (tramp-terminal-prompt-regexp)
34828         (tramp-operation-not-permitted-regexp)
34829         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
34830         (tramp-syntax, tramp-chunksize)
34831         (tramp-process-connection-type, tramp-connection-timeout)
34832         (tramp-connection-min-time-diff)
34833         (tramp-completion-reread-directory-timeout):
34834         * lisp/net/tramp-adb.el (tramp-adb-program)
34835         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
34836         * lisp/net/tramp-cache.el (tramp-connection-properties)
34837         (tramp-persistency-file-name):
34838         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
34839         (tramp-gvfs-zeroconf-domain)
34840         (tramp-bluez-discover-devices-timeout):
34841         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
34842         (tramp-copy-size-limit, tramp-terminal-type)
34843         (tramp-histfile-override)
34844         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
34845         (tramp-remote-process-environment, tramp-sh-extra-args):
34846         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
34847         (tramp-smb-conf, tramp-smb-winexe-program)
34848         (tramp-smb-winexe-shell-command)
34849         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
34851 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34853         Minor text-quoting-style fixes
34855         * lisp/cus-edit.el (custom-buffer-create-internal):
34856         * lisp/recentf.el (recentf-edit-list):
34857         Follow text-quoting-style preference when quoting in UI strings.
34858         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
34859         quotes are substituted for, as this is no longer true.
34861 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34863         Fix substitute-command-keys unibyte, alloc bugs
34865         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
34866         unibyte strings and with buffer allocation.  Make strings
34867         multibyte, to avoid problems with unibyte strings that are not
34868         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
34869         O(N), not O(N**2).  Avoid going past the end of the input string
34870         when given invalid input.  Avoid some unlikely problems in
34871         accessing the wrong storage after a GC.
34873 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
34875         Fix "C-u" when an input method is active
34877         * lisp/international/quail.el (quail-input-method): Defer to the
34878         input method iff 'overriding-terminal-local-map' is
34879         'universal-argument-map' and the given key has no binding there.
34880         (Bug#22958)
34882 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
34884         Fix docs on `display-buffer-below-selected' (Bug#24213)
34886         * lisp/window.el (display-buffer-below-selected): Fix
34887         doc-string (Bug#24213).
34888         * doc/lispref/windows.texi (Display Action Functions): Fix
34889         documentation of `display-buffer-below-selected'.
34891 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
34893         cl-fill: Rename arguments to cl-seq and cl-item
34895         * lisp/emacs-lisp/cl-seq.el (cl-fill):
34896         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
34898 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
34900         Fix display.texi typo
34902         * doc/lispref/display.texi (Faces): Fix typo.
34904 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34906         Fix process leak with make-network-process
34908         This problem was introduced by the recent async changes (Bug#23808).
34909         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
34910         so that it follows the start_process_unwind unwind-protect.
34911         Set pid to -1 while the process is being created.
34912         (start_process_unwind): Omit unnecessary emacs_abort test.
34913         (connect_network_socket): Simplify use of counts.  Unwind
34914         bind_polling_period a bit earlier, so that a remove_process
34915         unwind-protect can be added when needed; this is the heart of
34916         the fix.  Undo the unwind-protect just before returning.
34918 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
34920         Avoid annoying re-scroll when buffer has many overlay strings
34922         * src/xdisp.c (redisplay_window): Add better recovery from a
34923         situation where window-start is on buffer position which has a
34924         before-string that includes newlines, with the result that point
34925         is not visible in the window, because the display engine starts
34926         displaying with the before-string.  (Bug#24179)
34928 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34930         Omit unnecessary process initialization
34932         * src/process.c (make_process, Fmake_process)
34933         (Fmake_pipe_process, Fmake_serial_process)
34934         (Fmake_network_process, server_accept_connection):
34935         Omit unnecessary initialization of already-cleared storage.
34937 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
34939         cl-delete-duplicates: Parse :if to have cl-if bound
34941         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34942         We need also to parse keyword :if, otherwise cl-if
34943         is unbound.
34944         This reverts commit:
34945         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
34947 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
34949         cl-delete-duplicates: do not parse :if keyword
34951         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34952         Parse only the supported keywords.
34954 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
34956         Add compatibility layer for `temporary-file-directory-function'
34958         * lisp/net/tramp-compat.el
34959         (tramp-compat-temporary-file-directory-function): New defalias.
34961         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
34963         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
34964         Skip for older Emacs versions.
34966 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
34968         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
34970         (Bug#24059)
34972 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
34974         Handle nil cell value in compiled printer functions.
34976         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
34977         ses-range `!' modifier.
34978         (More on cell printing): Fix this that the fallback printer is
34979         `ses-prin1', not "%S".  That makes a difference for any cell value for
34980         which "%S" would insert a backslash characters.
34982         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
34983         --- contrary to emacs-25 branches ses-call-printer does not handle
34984         prior to calling a function printer.  Not doing this would still work
34985         because the compiled function would throw and error and SES would in
34986         the end resort to the ses-prin1 fallback, however this way would not
34987         be in line with the raison d'être of compiling printer which is speed.
34989 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
34991         Turn on lexical-binding in json.el
34993         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
34994         showed 12-31% reduction in execution time.
34995         * lisp/json.el: Turn on lexical-binding.
34997 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
34999         Nudge WoMan toward lexical-binding
35001         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
35002         Use cl-pushnew instead of add-to-list.
35003         (woman-justify-list): Rename to woman-justify-styles.
35004         (woman-justify-styles): New array.
35005         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
35006         (woman-cached-data): Use cl-pushnew instead of add-to-list.
35008 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
35010         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
35012         Here follows the logs from the two commits which I apply to master.
35014         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
35015         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
35016         Date:   Fri Jul 29 13:44:14 2016 +0200
35018         Fix ses-delete-blanks to delete only blanks + documentation.
35020         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
35021         'ses-range' modifier as an alternative to 'ses+'.
35022         (Advanced Features): Add a refernce to node 'Nonrelocatable
35023         references' concerning function 'ses-rename-cell'.
35024         (Standard formula functions): Mention the '!' 'ses-range'
35025         modifier as an alternative to 'ses-delete-blanks'.
35026         (More on cell printing): Fix fallback printer
35027         definition.  Minor editorial formatting changes.
35028         (Nonrelocatable references): Document the use of
35029         'ses-rename-cell' as a better way to make cell reference
35030         non-relocatable.
35031         (The data area): Document the presence of local printer
35032         definitions in the data area.
35034         * lisp/ses.el (ses-delete-blanks): Do not remove
35035         *error*.  Any error in an argument should propagate into the
35036         using formula rather than being silently hidden !
35038         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
35039         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
35040         Date:   Thu Jul 28 19:49:37 2016 +0200
35042         Fix local printer set to left aligned string formatter.
35044         * lisp/ses.el (ses-local-printer-compile): Add missing case
35045         for left-aligned string formatter.
35047 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35049         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
35051 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
35053         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
35055         Change the code which detects and circumvents the case where one of the
35056         variables used in λ-lifting is shadowed, so that it also works when the
35057         shadowing comes before the λ-lifted function (bug#24171).
35059         (cconv--remap-llv): New function, extracted from cconv-convert.
35060         (cconv-convert): Use it, but differently for `let' and `let*'.
35062 2016-08-09  Alan Mackenzie  <acm@muc.de>
35064         CC Mode: check for and fix missing call to before_change_functions.
35066         Fixes bug #24094 and bug #24074.
35068         This can happen with `revert-buffer' or sometimes `find-file', when the file
35069         is already in a buffer, but the file has been changed outside of Emacs.
35071         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
35072         invocation of c-before-change-functions, we assume the changed region is the
35073         entire buffer, and call c-before-change explicitly before proceding.
35075 2016-08-09  Alan Mackenzie  <acm@muc.de>
35077         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
35079         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
35081 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
35083         Support $ENV in Tramp
35085         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
35087         * etc/NEWS: Explain the "ENV" environment variable in
35088         `tramp-remote-process-environment'.
35090         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
35091         (tramp-open-shell): Read $ENV value from
35092         `tramp-remote-process-environment'.
35093         (tramp-open-connection-setup-interactive-shell): Set values in
35094         proper order.
35096 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35098         Simplify exec_byte_code via moving decls etc.
35100         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
35101         initializers into decls, and by omitting some unnecessary
35102         changes to ‘top’.  This improves performance a bit on x86-64,
35103         as it happens.
35105 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35107         Remove interpreter’s byte stack
35109         This improves performance overall on my benchmark on x86-64,
35110         since the interpreted program-counter resides in a machine
35111         register rather than in RAM.
35112         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
35113         is no longer a byte stack to decode.
35114         * src/bytecode.c (struct byte_stack, byte_stack_list)
35115         (relocate_byte_stack): Remove.  All uses removed.
35116         (FETCH): Simplify now that pc is now local (typically, in a
35117         register) and no longer needs to be relocated.
35118         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
35119         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
35120         (exec_byte_code): Allocate a copy of the function’s bytecode,
35121         so that there is no problem if GC moves it.
35122         * src/lisp.h (struct handler): Remove byte_stack member.
35123         All uses removed.
35124         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
35125         SAFE_ALLOCA_LISP.
35126         (SAFE_ALLOCA_LISP): Use it.
35128 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35130         Remove arbitrary limit on bytecode maxdepth
35132         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
35133         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
35135         pipeline is fuller.
35137 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35139         Tune bytecode quitting
35141         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
35142         check only once every 256 times.  This should be good enough, and
35143         improves performance significantly on x86-64 as branch-prediction
35144         typically assumes checking will not be done so the instruction
35145         pipeline stays fuller.
35146         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
35147         directly, as BYTE_CODE_QUIT does that now.
35149 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35151         Simplify BYTE_CODE_SAFE checking
35153         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
35154         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
35155         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
35156         expressions instead of #if expressions when this is easy.
35157         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
35158         as it is no longer needed.
35159         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
35160         Simplify stack-overflow checking when BYTE_CODE_SAFE.
35162 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
35164         Get BYTE_CODE_METER working again
35166         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
35167         noticed.  Perhaps we should remove it?
35168         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
35169         Use *aref_addr instead of AREF, since it needs to be an lvalue.
35171 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
35173         Fix cursor position under scroll-conservatively and overlay strings
35175         * src/xdisp.c (try_scrolling): Handle the case where the last
35176         visible screen line of a window displays a before- or after-string
35177         that takes up the whole screen line, and therefore there's no
35178         place to display the cursor, even though the window does seem to
35179         include the position of point.  (Bug#24179)
35181 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
35183         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
35185 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
35187         Tune interpretation of integer arglist descriptor
35189         * src/bytecode.c (exec_byte_code):
35190         Simplify and tune when INTEGERP (args_template).
35192 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
35194         Fix debugging of string-match-p errors
35196         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
35197         that debugger code that needs to do regexp match won't break
35198         (Bug #23949, Bug #24166, Bug#16294).
35200 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
35202         Add `make-nearby-temp-file' and `temporary-file-directory'
35204         * doc/lispref/files.texi (Unique File Names):
35205         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
35206         (Magic File Names): Mention `make-nearby-temp-file' and
35207         `temporary-file-directory'.
35209         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
35210         `temporary-file-directory'.
35212         * lisp/files.el (mounted-file-systems): New defcustom.
35213         (temporary-file-directory, make-nearby-temp-file): New defuns.
35214         (normal-backup-enable-predicate): Fix docstring.
35216         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
35217         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
35218         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
35219         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
35220         <make-nearby-temp-file, temporary-file-directory>: Add handler.
35222         * lisp/net/tramp.el (tramp-file-name-for-operation):
35223         Add `make-nearby-temp-file' and `temporary-file-directory'.
35224         (tramp-get-remote-tmpdir): Remove compatibility code.
35225         (tramp-handle-temporary-file-directory)
35226         (tramp-handle-make-nearby-temp-file): New defuns.
35228         * lisp/org/ob-core.el (org-babel-local-file-name):
35229         * lisp/progmodes/gud.el (gud-common-init):
35230         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
35232         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
35234         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
35235         Check `tramp--test-enabled'.
35236         (tramp-test18-file-attributes): Add tests for
35237         `file-ownership-preserved-p'.
35238         (tramp-test27-start-file-process, tramp-test28-shell-command):
35239         Reduce timeouts in `accept-process-output'.
35240         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
35241         (tramp-test29-environment-variables): Remove additional sleep calls.
35242         (tramp-test32-make-nearby-temp-file): New test.
35243         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
35244         (tramp-test33-special-characters)
35245         (tramp-test33-special-characters-with-stat)
35246         (tramp-test33-special-characters-with-perl)
35247         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
35248         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35249         (tramp-test34-utf8-with-ls)
35250         (tramp-test35-asynchronous-requests)
35251         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
35252         (tramp--test-ftp-p): Simplify check.
35253         (tramp--test-sh-p): New defun.
35254         (tramp-test20-file-modes, tramp-test22-file-times)
35255         (tramp-test26-process-file, tramp-test27-start-file-process)
35256         (tramp-test28-shell-command)
35257         (tramp-test29-environment-variables)
35258         (tramp-test30-vc-registered)
35259         (tramp-test33-special-characters-with-stat)
35260         (tramp-test33-special-characters-with-perl)
35261         (tramp-test33-special-characters-with-ls)
35262         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35263         (tramp-test34-utf8-with-ls)
35264         (tramp-test35-asynchronous-requests): Use it.
35266 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
35268         Add missing dcstrings in Tramp, remove chec for obsolee methods
35270         * lisp/net/tramp.el (tramp-progress-reporter-update)
35271         (tramp-unload-file-name-handlers, tramp-get-local-uid)
35272         (tramp-get-local-gid, tramp-get-local-locale):
35273         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
35274         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
35275         * lisp/net/tramp-compat.el (tramp-compat-funcall):
35276         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
35277         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
35278         * lisp/net/tramp-sh.el (tramp-get-remote-path)
35279         (tramp-get-remote-locale, tramp-get-ls-command)
35280         (tramp-get-ls-command-with-dired)
35281         (tramp-get-ls-command-with-quoting-style)
35282         (tramp-get-ls-command-with-w-option)
35283         (tramp-get-test-nt-command, tramp-get-file-exists-command)
35284         (tramp-get-remote-ln, tramp-get-remote-perl)
35285         (tramp-get-remote-stat, tramp-get-remote-readlink)
35286         (tramp-get-remote-trash, tramp-get-remote-touch)
35287         (tramp-get-remote-gvfs-monitor-dir)
35288         (tramp-get-remote-inotifywait, tramp-get-remote-id)
35289         (tramp-get-remote-uid-with-id)
35290         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
35291         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
35292         (tramp-get-remote-gid-with-id)
35293         (tramp-get-remote-gid-with-perl)
35294         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
35295         (tramp-get-env-with-u-option): Add missing docstrings.
35297         * lisp/net/tramp.el (tramp-obsolete-methods)
35298         (tramp-warned-obsolete-methods): Remove.
35299         (tramp-find-method): Do not check for obsolete methods any longer.
35301 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35303         Make sh-mode always use p-s-lookup-properties
35305         This lets functions which rely on syntax-propertize for parsing
35306         work correctly even before font lock has a chance to run.
35308         * lisp/progmodes/sh-script.el (sh-set-shell): Set
35309         parse-sexp-lookup-properties unconditionally (Bug #4920).
35311 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35313         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
35315         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
35316         list when showing its (non-existent) arguments (Bug #18587).
35318 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35320         Don't delete selection after indent-rigidly
35322         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
35323         function to `set-transient-map', this prevents `delete-selection-mode'
35324         from deleting the text that was just indented (Bug #20408).
35326 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35328         Fix byte-compile of interactive closures
35330         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
35331         bindings after docstring and `interactive' form, if any (Bug #24122).
35333 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35335         Error if --eval arg has text beyond 1 expression
35337         * lisp/startup.el (command-line-1): If --eval argument has more data
35338         than constitutes a single Lisp expression, signal an error (Bug #23159).
35340 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35342         Fix quoted lambda warning from lexical-let
35344         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
35345         with `function', not `quote' (Bug #11357).
35347 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
35349         Make emerge always use shell-quote-argument
35351         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
35352         (emerge-protect-metachars): Delete.
35353         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
35354         `emerge-protect-metachars' with `shell-quote-argument' so that shell
35355         quoting is done the same on all system types (Bug #6136).  Also shell
35356         quote `emerge-diff-program' and `emerge-diff3-program'.
35358 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
35360         Fix 'dired-diff' when backup file is in another directory
35362         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
35363         the default for FILE is computed, especially when backup files
35364         are involved.  Support backup files in another directory.
35365         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
35367 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
35369         Fix the 'T' command in Dired with non_ASCII file names
35371         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
35372         to correctly encode file names passed to the invoked PROGRAM.
35373         (Bug#24162)
35375 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
35377         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
35379 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35381         Merge from origin/emacs-25
35383         d841a03 ; Spelling fix
35384         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
35385         d35d398 Update to the AUTHORS file for Bob Weiner
35386         4d2f4df Revert "Fix local printer set to left aligned string formatter."
35387         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
35388         f7ceb8e Revert "Fix English."
35389         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
35390         aa4271a Fix doc string of 'minibuffer-message-timeout'
35391         b275cc7 Fix English.
35392         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
35393         272391f profiler: document prefix arg for tree expansion
35394         442cc39 Clarify usage of eshell-visual-options
35395         b443c3c Fix comment in files-in-below-directory
35396         8a38e94 Fix local printer set to left aligned string formatter.
35397         0f0b191 ; Fix typos in NEWS
35398         6bdf687 ; * etc/NEWS: Remove temporary marks
35400 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35402         Merge from origin/emacs-25
35404         d08afa1 * etc/AUTHORS: Update the AUTHORS file
35405         2668500 ;; * ChangeLog.2: ChangeLog update.
35406         7acfaea ; ChangeLog fixes
35407         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
35408         9ab52f6 * admin/authors.el: Additions.
35409         0e646c7 Warn about Cairo-related problems
35410         bc4c07f Don't let completion break `declare' handling
35411         66f95e0 Adjust match data before calling after-change-funs
35412         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
35413         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
35415         # Conflicts:
35416         #       ChangeLog.2
35417         #       src/lisp.h
35419 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35421         Merge from origin/emacs-25
35423         9a41cd1 ; Fix typo
35424         9356fe2 Expand FIXME near definition of fboundp
35425         219b39f kill-rectangle should mention killed-rectangle
35426         59fa4c3 Avoid assertion violations in nhexl-mode
35428 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35430         Merge from origin/emacs-25
35432         9ba51ed Document buffer-swap-text+save-excursion interaction
35433         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
35434         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
35435         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
35436         05ba7a0 Add test for handling environment variables in Tramp
35437         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
35438         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
35439         90f2169 ; Spelling fixes
35440         069fc05 Improve documentation of search functions
35441         0a0144a Delete environment variables in Tramp when needed
35442         f624671 Add "New in Emacs 25" section to the FAQ
35443         658daf9 Fix 'vertical-motion' in non-interactive sessions
35444         686b520 Fix memory leak in imagemagick-types
35445         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
35446         1b2d6a6 Clarify docstring of find-feature-regexp
35447         aac62a6 Add details to cl-lib defining macros' docstrings
35448         d6aa4da Clarify doc string of 'save-buffer'
35449         03bcf11 Un-confuse doc string of 'string-collate-equalp'
35450         c53135b Clarify documentation of 'mouse-on-link-p'
35452         # Conflicts:
35453         #       lisp/emacs-lisp/eieio-core.el
35455 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35457         Merge from origin/emacs-25
35459         6f285d9 Amend last addition to etc/PROBLEMS
35460         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
35462 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35464         Merge from origin/emacs-25
35466         d4c6774 Fix missing point information in undo
35467         3a9d629 Avoid crashes when buffer modification hooks clobber match data
35468         178b2f5 Note combine-and-quote-strings doesn't shell quote
35469         dec7567 Explain when package-initialize isn't called
35470         113d1e2 Fix escaping in sh-indent-after-continuation docstr
35471         80e2044 ; * etc/NEWS: Improve previous change.
35472         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
35473         38f4b8e Clarify the documentation of back-references in replacements
35475 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35477         Merge from origin/emacs-25
35479         850ba44 Clarify lexical binding with symbol args behavior
35480         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
35481         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
35482         21110af Avoid assertion violations when rendering some fonts
35483         6192b6c Document more details of package activation
35484         272ddc6 Fixup warning message regarding HOME a bit more
35485         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
35486         d41f7ff Fix input method "probhat" for Bengali
35487         c150a64 ; Fix typo in commit before last
35488         ebf0472 Add to elisp-completion-at-point's docstring
35489         fd9fad0 Give more helpful warning about setting HOME
35490         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
35492         # Conflicts:
35493         #       lisp/term.el
35495 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35497         Merge from origin/emacs-25
35499         26d4da0 New input method "probhat" for Bengali
35500         4f445bf ; Spelling fix
35501         f403f03 ; Fix typo
35503 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
35505         Spelling and minor grammar fixes
35507         * test/file-organization.org: Rename from test/file-organisation.org.
35509 2016-08-04  Alan Mackenzie  <acm@muc.de>
35511         Widen in certain low level CC Mode functions.  This fixes bug #24148.
35513         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
35514         (c-state-full-pp-to-literal): Widen around the functionality.
35515         (c-parse-ps-state-below): Correct the order of save-excursion and
35516         save-restriction.
35518 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
35520         Fix Bug#24149
35522         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
35523         overriding-terminal-local-map.  (Bug#24149)
35525 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35527         Update from gnulib
35529         This incorporates:
35530         2016-07-03 mktime: call tzset as per POSIX
35531         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
35532         Copy from gnulib.
35534 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35536         Fix GnuTLS includes
35538         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
35539         a second time; although it doesn’t hurt, it’s not needed.
35540         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
35541         as it may not be available.  Problem reported by Glenn Morris in:
35542         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
35544 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
35546         Fix accessing regex-resources in out-of-tree test runs in regex-tests
35548         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
35549         fix regex-tests failing when run from the source tree (i.e. via make)
35550         by hard-coding path to regex-resources directory relative to the test
35551         directory.
35553         This fixed runs from the tree but broke the test when run using other
35554         methods.
35556         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
35558         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
35559         storing path to the regex-resources directory.
35560         (regex-tests-generic-line): Use aforementioned variable.
35562 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35564         Simplify by assuming GnuTLS 2.12.2 or later
35566         * src/gnutls.c (gnutls_certificate_details):
35567         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
35569 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35571         Port to systems lacking GNUTLS_NONBLOCK
35573         Problem reported by Colin Baxter in:
35574         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
35575         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
35577 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35579         Fix non-blocking GnuTLS with slow connection
35581         Although the problem is reported for OS X (Bug#23982), it seems to
35582         be possible on other POSIXish platforms.
35583         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
35584         New function.
35585         (emacs_gnutls_handshake) [!WINDOWSNT]:
35586         Use it as the errno function, if non-blocking.
35587         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
35589 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
35591         Require GnuTLS 2.12.2 or later
35593         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
35594         instead of merely 2.6.6 or later (Bug#23982#20).
35595         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
35596         [WINDOWSNT]: Don’t bother with gnutls_check_version or
35597         gnutls_transport_set_lowat, as they are no longer needed now that
35598         we require gnutls 2.12.2 or later.
35600 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35602         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
35604         * src/window.h (sanitize_window_sizes): Adjust prototype.
35605         * src/frame.c (adjust_frame_size): Adjust calls.
35607 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35609         Fix (mapcar F S) crash when F alters S’s length
35611         * src/fns.c (mapcar1): Return number of elements computed,
35612         which can be less than LENI if the function alters the list.
35613         All callers changed.  (Bug#24118)
35615 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35617         Port window changes to --enable-gcc-warnings
35619         * src/window.c (sanitize_window_sizes): Return void.
35620         This pacifies GCC, and no caller uses the return value anyway.
35622 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35624         * src/window.c: Fix bootstrap failure due to window.el changes
35626         (sanitize_window_sizes): Adjust to new calling convention of
35627         window--sanitize-window-sizes and only call it if defined.
35628         (Fwindow__sanitize_window_sizes): Remove.
35629         (syms_of_window): Don't defsubr it.
35631 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
35633         Fix Bug#23883
35635         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35636         Call `process-actions' with adapted position.  The connection
35637         buffer might have been cleaned up already.  (Bug#23883)
35639 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35641         Port regex changes to strict ISO C
35643         * src/regex.c (regex_compile): Redo casts.
35645 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35647         * lisp/window.el: Use lexical-binding
35649         (window--min-size-ignore-p): Remove unused arg `horizontal'.
35650         (window--sanitize-window-sizes): Remove unused arg `frame'.
35651         (window-edges): Remove unused vars left-off and right-off.
35652         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
35653         Avoid extraneous setq and do a bit of CSE.
35654         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
35655         and `toolbar-extra-height'.
35656         (window-adjust-process-window-size): Remove unused arg `process'.
35658 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35660         Fix unused lexical variable
35662         This fixes the following warning:
35664             In toplevel form:
35665             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
35667         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
35668         variable.
35670 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35672         Remove unused STREQ macro
35674         This fixes the following compilation warning:
35676             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
35677              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
35678              ^
35680         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
35681         in a [4538a5e: Refactor regex character class parsing in [:name:]]
35682         commit but was mistakenly left out.
35684 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35686         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
35687         load-history format
35689         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
35690         (cl-generic-define-method, cl--generic-describe): Use it.
35691         (cl--generic-search-method): Adjust for new format.
35693         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
35694         * test/lisp/progmodes/elisp-mode-tests.el:
35695         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
35696         internal format.
35698 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35700         Hardcode regex syntax to remove dead code handling different syntax
35702         Emacs only ever uses its own regex syntax so support for other syntaxes
35703         is never used.  Hardcode the syntax so that the compilar can detect such
35704         dead code and remove it from compiled code.
35706         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
35707         specified.  Handle this separatelly with a function argument (replacing
35708         now unnecessary syntax argument).
35710         With this patchset, size of Emacs binary on x86_64 machine is reduced by
35711         around 60 kB:
35713                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
35714                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
35716         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
35717         (re_compile_pattern): Replace syntax with posix_backtracking argument.
35719         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
35720         (regex_compile): #ifdef emacs, replace syntax argument with
35721         posix_backtracking which is now used instead of testing for
35722         RE_NO_POSIX_BACKTRACKING syntax.
35723         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
35724         (re_compile_pattern): Replace syntax with posix_backtracking argument.
35726         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
35727         instead of syntax to re_compile_pattern.
35729 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35731         Get rid of re_set_whitespace_regexp
35733         * src/regex.h (re_set_whitespace_regexp): Delete.
35734         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
35736         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
35737         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
35738         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
35739         unless building Emacs.
35740         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
35742         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
35743         pass the regex as argument to re_compile_pattern instead.
35745 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35747         Get rid of re_set_syntax
35749         Instead of using a global variable for storing regex syntax, pass it
35750         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
35751         ‘#ifdef emacs’).
35753         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
35754         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
35756         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
35757         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
35759         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
35760         instead pass syntax to re_compile_pattern directly.
35762 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35764         Remove dead opcodes in regex bytecode
35766         There is no way to specify before_dot and after_dot opcodes in a regex
35767         so code handling those ends up being dead.  Remove it.
35769         * src/regex.c (print_partial_compiled_pattern, regex_compile,
35770         analyze_first, re_match_2_internal): Remove handling and references to
35771         before_dot and after_dot opcodes.
35773 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35775         Refactor regex character class parsing in [:name:]
35777         re_wctype function is used in three separate places and in all of
35778         those places almost exact code extracting the name from [:name:]
35779         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
35780         string, so the name of the character class is copied to a temporary
35781         buffer.
35783         The code duplication and unnecessary memory copying can be avoided by
35784         pushing the responsibility of parsing the whole [:name:] sequence to
35785         the function.
35787         Furthermore, since now the function has access to the length of the
35788         character class name (since it’s doing the parsing), it can take
35789         advantage of that information in skipping some string comparisons and
35790         using a constant-length memcmp instead of strcmp which needs to take
35791         care of NUL bytes.
35793         * src/regex.c (re_wctype): Delete function.  Replace it with:
35794         (re_wctype_parse): New function which parses a whole [:name:] string
35795         and returns a RECC_* constant or -1 if the string is not of [:name:]
35796         format.
35797         (regex_compile): Use re_wctype_parse.
35798         * src/syntax.c (skip_chars): Use re_wctype_parse.
35800 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35802         Split regex glibc test cases into separet tests
35804         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
35805         tests cases.
35806         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
35807         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
35808         from ‘regex-tests’.
35810 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35812         Don’t (require 'cl)
35814         * test/src/regex-tests.el: Don’t (require 'cl).
35815         (regex-tests-PCRE): s/loop/cl-loop/
35817 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
35819         Fix reading of regex-resources in regex-tests
35821         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
35822         ‘buffer-file-name’ does not work when running the test from command
35823         line, i.e. via make, which results in (wrong-type-argument stringp nil)
35824         failures.  Replace it with hard-coded path.
35825         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
35826         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
35827         the ‘regex-resources’ path component so the tests don’t need to specify
35828         it explicitly.
35830 2016-08-02  Dima Kogan  <dima@secretsauce.net>
35832         Added driver for the regex tests
35834         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
35835         cases.
35837         [mina86@mina86.com: merged test with existing file]
35839 2016-08-02  Dima Kogan  <dima@secretsauce.net>
35841         New regex tests imported from glibc 2.21
35843         * test/src/regex-resources/BOOST.tests:
35844         * test/src/regex-resources/PCRE.tests:
35845         * test/src/regex-resources/PTESTS:
35846         * test/src/regex-resources/TESTS:
35847         New test data files
35849         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
35851 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
35853         Fix use-after-close in connect_network_socket
35855         * src/process.c (connect_network_socket):
35856         Reverse sense of previous fix.  Problem reported by Ken Brown in:
35857         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
35859 2016-08-01  Glenn Morris  <rgm@gnu.org>
35861         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
35862         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
35864 2016-07-31  Stefan Merten  <stefan@merten-home.de>
35866         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
35868         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
35869         representing reStructuredText section header concepts.
35870         (rst-mode-map, rst-new-preferred-hdr)
35871         (rst-update-section, rst-classify-adornment)
35872         (rst-ttl-at-point, rst-all-ttls-cache)
35873         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
35874         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
35875         (rst-all-ttls-with-level, rst-get-previous-hdr)
35876         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
35877         (rst-adjust-section, rst-promote-region)
35878         (rst-display-hdr-hierarchy, rst-straighten-sections)
35879         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
35880         (rst-toc-insert-node, rst-toc-node, rst-toc)
35881         (rst-forward-section, rst-adornment-level)
35882         (rst-font-lock-handle-adornment-pre-match-form)
35883         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
35884         using classes.
35885         (rst-compare-adornments, rst-get-adornment-match): Remove
35886         functions now in classes.
35887         (rst-re-alist-def, rst-toc-mode)
35888         (rst-font-lock-extend-region-extend): Minor improvements.
35889         (rst-mode, rst-compile): Use `setq-local'.
35890         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
35891         (rst-official-version, rst-official-cvs-rev)
35892         (rst-package-emacs-version-alist): Maintain version tags.
35894 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
35896         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
35898         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
35899         bar width (Bug#24107).  Reindent.
35900         * src/xfns.c (frame_geometry): Fix calculation of tool bar
35901         width on non-GTK builds.
35903 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
35905         Fix region display while dragging mouse
35907         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
35908         buffer of the drag event, to allow mark to be set and the region
35909         be shown as we drag the mouse.  (Bug#24030)
35911 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
35913         Copy just non-empty strings to kill-ring
35915         * lisp/dired.el (dired-copy-filename-as-kill):
35916         Do not change the kill ring when the string is empty (Bug#24103).
35918 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
35920         Avoid warnings about undo list while decoding
35922         * src/coding.c (coding_restore_undo_list): New function.
35923         (decode_coding_gap, decode_coding_object): Temporarily set the
35924         buffer's undo list to t, to avoid warnings when decoding changes
35925         the buffer many times, e.g. due to post-read-conversion.  Use
35926         coding_restore_undo_list to make sure the undo list is restored.
35927         (Bug#23813)
35929 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
35931         profiler: Add mouse-1 binding for tree expansion
35933         (profiler-report-mode-map): Add mouse-1 binding for
35934         profiler-report-toggle-entry (Bug #13455).
35936 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
35938         Enable addition of local printers from a mode hook.
35940         * doc/misc/ses.texi (Printer functions): Split the node into 5
35941         sub-nodes + add some extra documentation.
35942         (Various kinds of printer functions): Make an itemization to
35943         disintguish better the 3 types of printers, give an example of
35944         lambda printer definition.
35945         (Standard printer functions): Add documentation for ses-prin1
35946         printer function.
35947         (Local printer functions): Add documentation for creating
35948         local printers programmatically from a hook.
35949         (Writing a lambda printer function): Add documentation about
35950         anti-stackoverflow precautions to take when you call the
35951         standard printer functions from inside a local printer.
35953         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
35954         among standard printer function, and update docstring
35955         accordingly.
35956         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
35957         of prin1-to-string.
35958         (ses-define-local-printer): Add definition to arguments so
35959         that a local printer can be defined programmatically from a
35960         mode hook.  Make docstring more substantial.  Use completing
35961         read for local printer name input.  Plus some minor
35962         optimization.
35963         (ses-define-if-new-local-printer): New defsubst.
35964         (ses-center, ses-center-span, ses-dashfill)
35965         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
35966         as an optional argument to superseed column printer/default
35967         spreadsheet printer.
35968         (ses-prin1): New defun.
35970 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
35972         Prompt to save gnus-cloud-method.
35974         Since `gnus-cloud-method' is a defcustom, when it's set, we should
35975         prompt the user to save it, so the customization is not lost on
35976         restart.
35978         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
35979         Prompt to save the customization of `gnus-cloud-method'.
35981 2016-07-27  Ken Brown  <kbrown@cornell.edu>
35983         Fix dired-test-bug22694
35985         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
35986         "bug22694" directory, if it exists, before running the test.  It
35987         might be left over from a previous aborted run of the test.
35989 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
35991         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
35993         * src/regex.c (mutually_exclusive_p): Fix how whether character is
35994         unibyte is tested when calling execute_charset function.  This bug has
35995         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
35996         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
35997         Reinstitute it.
35999 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
36001         Remove hook when disabling ibuffer-auto-mode
36003         * lisp/ibuf-ext.el (ibuffer-auto-mode):
36004         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
36006 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
36008         * lisp/subr.el (cancel-change-group): Reset cell in case of error
36010         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
36011         to make sure we properly undo the temporary change even in case of error.
36013 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
36015         Avoid segfaults in compute_motion
36017         * src/indent.c (compute_motion): Don't turn on and don't use the
36018         width cache unless the buffer's width-table is non-nil.  This
36019         avoids segfaults because code that uses the width cache assumes
36020         the width-table exists.  (Bug#24064)
36022 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
36024         Do not sharp-quote lambdas
36026         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
36028 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
36030         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
36031         'base64-gzip encoding.
36033 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
36035         Add warning to format-alist docs.
36037         */doc/lispref/files.texi (format-alist) Change documentation for
36038         format-alist to warn against file modifications when formatting, which
36039         leads to incorrect results.  (Bug#5440)
36041         Changes suggested by Eli.
36043 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
36045         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
36046         Preserve key bindings that shr adds (bug#23964).
36048 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
36050         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
36052         The regex engine tries to optimize Kleene star by avoiding backtracking
36053         when it can detect that star’s operand cannot match what follows it in
36054         the pattern.
36056         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
36057         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
36058         the entire string.  Literal digit one still present in the pattern will
36059         however not match the remaining empty string.
36061         Normally, backtracking would be performed trying a shorter match for the
36062         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
36063         engine knows whatever would be put back into the string cannot possibly
36064         match literal digit one so no backtracking will be attempted.
36066         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
36067         if the character class CC does not match character X.  In the above
36068         example, this holds because digit one is not in alpha character class.
36070         This test is performed by mutually_exclusive_p function but it did not
36071         check class bits of a charset opcode.  This resulted in an assumption
36072         that character classes do not match multibyte characters.  For example,
36073         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
36075         This, in turn, led to the aforementioned Kleene star optimization being
36076         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
36077         match ‘☠’ but doesn’t as can be tested by executing
36078             (string-match-p "[[:graph:]]*☠" "☠")
36079         which should return 0 but instead yields nil.
36081         This issue affects any class witch matches multibyte characters, i.e.
36082         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
36083         fail to match ‘X’.
36085         * src/regex.c (executing_charset): A new function for executing the
36086         charset and charset_not opcodes.  It performs check on the character
36087         taking into consideration existing bitmap, range table and class bits.
36088         It also advances the pointer in the regex bytecode past the parsed
36089         opcode.
36090         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
36091         Code now included in executing_charset.
36092         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
36093         of executing_charset function.
36095         * test/src/regex-tests.el: New file with tests for the character class
36096         matching.
36098 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
36100         Fix auto-reverting image-mode buffer (bug#21598)
36102         When auto-reverting an image buffer, `image-mode' is not called since
36103         `revert-buffer' is called with `preserve-modes' set to non-nil.
36105         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
36106         image display property for the current buffer before updating it.
36108 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
36110         ‘signal’ no longer returns
36112         Although for decades ‘signal’ has been documented to not return,
36113         a corner case in the Lisp debugger causes ‘signal’ to return.
36114         Remove the corner case and adjust Emacs internals accordingly.
36115         An alternative would be to document the corner case, but this
36116         would complicate the Lisp API unnecessarily.  (Bug#24047)
36117         * src/eval.c (signal_or_quit): New function, with most of the
36118         old contents of Fsignal.
36119         (quit): New function, which uses signal_or_quit and which
36120         might return.  All keyboard-based callers of Fsignal (Qquit,
36121         Qnil) changed to use this new function instead.
36122         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
36123         changed.
36124         (xsignal): Move to lisp.h.
36125         * src/lisp.h (xsignal): Now an inline function, as it's now
36126         just an alias for Fsignal.
36128 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
36130         Require libgnutls unless --with-gnutls=no
36132         * configure.ac: Report an error if the gnutls library is missing,
36133         unless --with-gnutls=no is specified.
36135 2016-07-23  Alan Mackenzie  <acm@muc.de>
36137         Fontify C++ parameter packs.
36139         This fixes debbugs #23610.
36141         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
36142         c-lang-defconsts/defvars.
36143         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
36145         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
36147 2016-07-23  Alan Mackenzie  <acm@muc.de>
36149         Java Mode: Handle strings as case labels correctly.
36151         This fixes debbugs #23901.
36153         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
36154         Java value.
36156 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
36158         Avoid repeated warnings while restoring desktop
36160         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
36161         when files are being opened during desktop restore.
36163 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
36165         Fix compilation warning in the MinGW build
36167         * nt/inc/ms-w32.h: Include stdint.h.
36168         (_execvp, execve): Provide prototypes.
36170         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
36171         it is now in nt/inc/ms-w32.h.
36172         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
36173         mismatch.
36174         (sys_ctime): Remove, not used.
36176 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
36178         Move read-multiple-choice to subr-x.el
36180         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
36182         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
36183         from subr.el.
36185         * lisp/gnus/message.el (subr-x): Ditto.
36187         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
36189         read-multiple-choice doesn't need to be in the dumped Emacs, so move
36190         it to a less central file.
36192 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
36194         Update define-ibuffer-op doc string
36196         * lisp/ibuf-macs.el (define-ibuffer-op):
36197         Mention that BODY is evaluated with 'buf' bound to the actual
36198         marked buffer being processed.
36200 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
36202         Update define-ibuffer-op doc string
36204         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
36205         instead of refer the reader to the source code.
36206         Document arg BODY.
36208 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
36210         Fix shell-command[-on-region] doc strings
36212         * lisp/simple.el (shell-command, shell-command-on-region):
36213         Drop the sentence saying that the command may delete the buffer
36214         '*Shell Command Output*': the command never delete such
36215         buffer (Bug#23936).
36217 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
36219         ;Revert ";Partially revert 2649105a"
36221         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
36223 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
36225         ;Partially revert 2649105a
36227         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
36228         setq-local to modify prettify-symbols-compose-predicate.
36230 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
36232         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
36234         (struct byte_stack): Re-add `bottom'.
36235         (exec_byte_code): Initialize it.
36237 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
36239         Ibuffer: Use default output buffer for shell commands
36241         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
36242         '*Shell Command Output*', as command 'shell-command-file'.
36244 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
36246         Fix failing test
36248         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
36249         Enable Font Lock mode in order to initialize
36250         'char-property-alias-alist' (Bug#23954).
36252 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36254         Fix use-after-close in connect_network_socket
36256         * src/process.c (connect_network_socket): Don’t use
36257         external_sock_fd after closing it.  Problem found by Coverity Scan.
36259 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
36261         * lisp/net/shr.el (shr-fill-line):
36262         Preserve text properties in folded lines (bug#24034).
36264 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36266         Fix lifetime bug in tzlookup
36268         * src/editfns.c (tzlookup): Fix storage lifetime bug when
36269         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
36271 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
36273         Fix shr.el/image build problem
36275         (Bug#24035)
36277         * lisp/net/shr.el: Require image, since some builds seem to
36278         break without it (bug#24035).
36280 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
36282         Bring the Gnus Cloud package into working order.
36284         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
36286         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
36287         simplify non-file data.
36288         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
36289         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
36290         EPG if that's available, Base64+gzip otherwise.
36291         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
36292         interactive, defaults to enabled.
36293         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
36294         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
36295         "Version".
36296         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
36297         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
36298         storage methods as per gnus-cloud-storage-method.
36299         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
36300         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
36301         entries.
36302         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
36303         file and data handlers.
36304         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
36305         entries.
36306         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
36307         be more careful.
36308         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
36309         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
36310         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
36311         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
36312         (gnus-cloud-prune-old-chunks): Fix indentation.
36313         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
36314         timestamp.
36315         (gnus-cloud-file-new-p): Use it.
36316         (gnus-cloud-upload-all-data): Add interactive convenience function to
36317         upload all data.
36318         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
36319         data separately; refresh Gnus Cloud group after insert.
36320         (gnus-cloud-download-all-data): Add interactive convenience function to
36321         download all data.
36322         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
36323         marker and different storage methods.
36324         (gnus-cloud-host-server-p): New function to check if a server is the
36325         Gnus Cloud host.
36326         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
36327         (gnus-cloud-host-acceptable-method-p): New function so
36328         other code can check if a server method can host the Gnus cloud.
36329         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
36330         (gnus-cloud-method): Make this a defcustom and note how to set it.
36332         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
36333         keybindings under the `~' prefix.
36335         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
36336         (gnus-server-cloud, gnus-server-cloud-host)
36337         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
36338         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
36339         synchronized servers and synchronization host server toggling (`i' and
36340         `I') and visual display.
36341         (gnus-server-toggle-cloud-method-server): Use
36342         gnus-cloud-host-acceptable-method-p.
36343         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
36344         set the gnus-cloud-method. Ask the user if it's OK to upload the data
36345         right now.
36347         * doc/misc/gnus.texi: Document Gnus Cloud package.
36349 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36351         Remove CHECK_FRAME_FONT cruft from bytecode.c
36353         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
36354         Remove some old ‘#if 0’ code.
36356 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36358         Work around GCC bug 54561 in a better way
36360         The new approach is less selective, but also less intrusive on C code.
36361         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
36362         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
36364 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36366         Fix port to glibc 2.24 (pre-release) + ppc64
36368         * src/callproc.c (child_setup): Use emacs_exec_file
36369         so that ASLR is enabled in the child process.
36370         * src/emacs.c: Move some personality details into sys/sysdep.c.
36371         Do not include <sys/personality.h>.
36372         (main): Disable ASLR earlier, so that we don’t chdir twice.
36373         * src/lisp.h (disable_address_randomization): New decl.
36374         * src/sysdep.c (disable_address_randomization)
36375         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
36376         here from emacs.c.
36377         (emacs_exec_file): New function.
36379 2016-07-19  Alan Third  <alan@idiocy.org>
36381         Prevent bar cursor overwriting next glyph (bug#16856)
36383         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
36384         before setting final size.
36386 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
36388         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
36390         * src/insdel.c (adjust_markers_bytepos): New function.
36391         * src/lisp.h (adjust_markers_bytepos): Add prototype.
36392         * src/insdel.c (replace_range, replace_range_2):
36393         * src/editfns.c (Ftranspose_regions): Call
36394         adjust_markers_bytepos.  (Bug#5131)
36396         * test/src/editfns-tests.el (transpose-test-reverse-word)
36397         (transpose-test-get-byte-positions): New functions.
36398         (transpose-ascii-regions-test)
36399         (transpose-nonascii-regions-test-1)
36400         (transpose-nonascii-regions-test-2): New tests.
36402 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
36404         Make gif animation work (bug#24004)
36406         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
36407         an animation is too big (bug#24004).
36409 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
36411         * lisp/simple.el (undo-amalgamate-change-group): New function
36413         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
36414         (viper-set-complex-command-for-undo): Save current state with
36415         prepare-change-group.
36416         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
36417         (viper-buffer-undo-list-mark): Remove.
36419 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
36421         Keep w32 environment settings internal only
36423         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
36424         set_initial_environment call.  This prevents Emacs' modifications to the
36425         environment from contaminating Vprocess_environment and
36426         Vinitial_environment (Bug #10980).
36427         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
36428         environment in as a fallback to Vprocess_environment.
36429         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
36431 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
36433         Better documentation for cl-reduce (bug#24014)
36435         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
36437 2016-07-17  Alan Third  <alan@idiocy.org>
36439         Remove separate pool for popup dialogs (bug#23856)
36441         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
36442         autorelease pool and Popdown_data struct.
36444 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
36446         Use eldoc-documentation-functions
36448         * lisp/hexl.el (hexl-mode):
36449         * lisp/ielm.el (inferior-emacs-lisp-mode):
36450         * lisp/progmodes/cfengine.el (cfengine3-mode):
36451         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
36452         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
36453         * lisp/progmodes/python.el (python-mode):
36454         * lisp/simple.el (read--expression): Add buffer-locally to hook
36455         eldoc-documentation-functions.
36457 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
36459         Optimize ucs-normalize.el compilation
36461         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
36462         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
36463         regexp-opt.
36464         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
36465         temp buffer for the whole loop.
36467 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
36469         Add tests for ucs-normalize.el
36471         Some tests are marked as expected to fail.
36473         * test/lisp/international/ucs-normalize-tests.el: New tests.
36474         * admin/unidata/NormalizationTest.txt: Add data for tests.
36475         * admin/unidata/README: Add URL for NormalizationTest.txt.
36476         * admin/notes/unicode: Add note about running (and updating the data
36477         for) the new tests.  Remove note about normalization being unsupported.
36479 2016-07-16  Alan Third  <alan@idiocy.org>
36481         Fix cursor display (bug#23993)
36483         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
36485 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
36487         Stop worrying about Alliant in bytecode.c
36489         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
36491 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
36493         Remove BYTE_MAINTAIN_TOP
36495         It is no longer needed now that we assume GC_MARK_STACK ==
36496         GC_MAKE_GCPROS_NOOPS.
36497         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
36498         All uses removed, and code simplified accordingly.
36499         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
36500         are always no-ops now.  All uses removed.
36501         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
36502         since it is now equivalent.
36504 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
36506         Remove now-inaccurate bytecode comments
36508         * src/bytecode.c: Remove comments that are no longer accurate.
36509         Most of these are actually old ChangeLog entries.
36511 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
36513         Port to glibc 2.24 (pre-release) + ppc64
36515         Inspired by a suggestion by Florian Weimer in:
36516         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
36517         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
36518         Rename from HAVE_PERSONALITY_LINUX32, and check for
36519         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
36520         All uses changed.
36521         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
36522         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
36523         flag ourselves.  Just set that flag, rather than also setting the
36524         persona.  When doing it, avoid functions like putenv that may
36525         allocate memory.
36527 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
36529         Revert "Add a couple cells to lisp-prettify-symbols-alist"
36531         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
36533 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
36535         * lisp/simple.el (shell-command): Add save-match-data comment
36537 2016-07-14  Alan Mackenzie  <acm@muc.de>
36539         CC Mode: correct incorrect invocation of parse-partial-sexp.
36541         Fixes bug #23944.
36543         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
36544         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
36546 2016-07-14  Andreas Schwab  <schwab@suse.de>
36548         Fix configure summary for hybrid malloc configurations
36550         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
36551         parenthesize value of GNU_MALLOC_reason.
36553 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
36555         Fix delete-duplicate-lines
36557         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
36558         first line when operating backward (bug#23863).
36560 2016-07-14  Andreas Schwab  <schwab@suse.de>
36562         Remove unused SHEAP_OBJ
36564         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
36566 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
36568         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
36569         Use shr-image-map instead of shr-map (bug#23964).
36571 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
36573         * lisp/mouse.el (mouse): Consolidate group definition here
36575         * lisp/cus-edit.el (mouse): Remove both group definitions.
36577 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
36579         Include versioned preloaded libraries in `package--builtin-versions'
36581         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
36582         exclude preloaded libraries or remove entries generated for them.
36583         (autoload-generate-file-autoloads): Do not generate autoload
36584         statements for preloaded libraries.
36586 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36588         Omit unnecessary #includes from xwidget.c
36590         * src/xwidget.c: Remove #include directives that are not needed.
36591         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
36592         file is compiled only if the X interface is available.
36594 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36596         Port xwidget.c to GCC 6 with --enable-gcc-warnings
36598         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
36599         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
36600         possible bugs found by GCC.
36602 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
36604         Escape meta chars in commands processed by shell
36606         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
36607         in all commands to be passed to a shell (Bug#23959).
36609 2016-07-12  John Wiegley  <johnw@newartisans.com>
36611         Revert "Cleanup tooltips"
36613         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
36615         I am reverting this change because it was applied without prior discussion
36616         on emacs-devel, and has been found to break the NS port.  It needs more
36617         testing and review before it should be applied here.
36619 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
36621         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
36623         (cl-prog, cl-prog*): New macros.
36625 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
36627         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
36629         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
36630         (cl--generic-make-defmethod-docstring): New function for that.
36631         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
36632         (cl-generic-define-method, cl--generic-describe): Change `load-history'
36633         format of cl-defmethods, so as not to confused methods with equal
36634         specializers but different qualifiers.
36635         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
36637 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
36639         Don't install keyboard hook when debugged on MS-Windows
36641         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
36642         hook if we are being debugged.  This avoids hosing the debugger,
36643         because the hook is global, and is called in the context of the
36644         thread which installed it, and that thread is stopped when GDB has
36645         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
36647 2016-07-12  Alan Mackenzie  <acm@muc.de>
36649         Amend CC Mode to handle big C++ raw strings correctly.
36651         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
36652         in the +-500 bytes boundaries imposed for macros.
36654         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
36655         macro boundaries here.
36656         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
36657         lower boundary.  Fix the check on the upper boundary.
36659         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
36660         point already being within a raw string.
36662         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
36663         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
36664         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
36665         with other Emacsen.
36667 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
36669         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
36671 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
36673         Cleanup tooltips
36675         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
36676         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
36677         (FRAME_TOOLTIP_P): New macro.
36678         * src/frame.c (make_frame): Mark new frame as regular frame by default.
36679         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
36680         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
36681         and 'Qtooltip_parameters' instead.
36682         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
36683         * src/gtkutil.c (xg_hide_tip): New function.
36684         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
36685         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
36686         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
36687         * src/w32fns.c (unwind_create_tip_frame): Remove.
36688         (w32_display_monitor_attributes_list)
36689         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
36690         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36691         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
36692         as a tooltip frame and record it using appropriate display info.
36693         (x_hide_tooltip): Add frame arg.
36694         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36695         base frame parameters, store tooltip hide timer among tooltip frame
36696         parameters.
36697         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36698         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
36699         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36700         * src/w32term.c (w32_read_socket): Extract tooltip window id from
36701         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
36702         (x_new_font): Use FRAME_TOOLTIP_P.
36703         (x_free_frame_resources): Reset pointer to tooltip frame.
36704         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
36705         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
36706         Use FRAME_TOOLTIP_P.
36707         * src/xfns.c (x_make_monitor_attribute_list)
36708         (Fx_display_monitor_attributes_list): Likewise.
36709         (unwind_create_tip_frame): Remove.
36710         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36711         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
36712         as a tooltip frame and record it using appropriate display info.
36713         (x_hide_tooltip): Add frame arg.
36714         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36715         base frame parameters, store tooltip hide timer among tooltip frame
36716         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
36717         event loop.
36718         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36719         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
36720         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36721         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
36722         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
36723         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
36724         (x_free_frame_resources): Reset pointer to tooltip frame.
36725         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
36726         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
36728 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36730         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
36732 2016-07-11  Mario Lang  <mlang@delysid.org>
36734         Test mapcan
36736         * test/src/fns-tests.el (fns-tests-mapcan): New test.
36738 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36740         Prevent to apply funcall on t
36742         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
36743         'ediff-after-quit-hook-internal' hook (Bug#23933).
36745 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
36747         Ignore angle mode while simplifying units
36749         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
36750         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
36751         is non-nil (Bug#23889).
36752         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
36753         (math-from-radians-2, math-to-radians-2): Idem.
36755 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
36757         Fix display of composed characters
36759         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
36760         iteration through composition glyphs.  (Bug#23938)
36762 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
36764         Fix composition bug caused by off-by-1 typo
36766         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
36767         computing composition glyph (Bug#23938).
36769 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36771         Dired always read file system
36773         * lisp/dired.el (dired-always-read-filesystem): Add new option.
36774         (dired-mark-files-containing-regexp): Use it (Bug#22694).
36775         * doc/emacs/dired.texi: Mention it in the manual.
36776         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
36777         ;* etc/NEWS: Add entry for this change.
36779 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36781         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
36783 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36785         Avoid 'unused var' 'not left unused var' warnings
36787         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
36788         Rename used var '_buffer' to 'cbuffer'.
36790         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
36791         to cmark'.
36793 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
36795         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
36797 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
36799         Add a note how to use `tramp-own-remote-path'
36801         * doc/misc/tramp.texi (Inline methods, External methods)
36802         (Remote shell setup, Android shell setup)
36803         (Frequently Asked Questions, Frequently Asked Questions):
36804         Use @command and @samp consequently.
36805         (Remote programs): The remote shell must support the -l
36806         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
36808 2016-07-10  Alan Third  <alan@idiocy.org>
36810         Remove App Nap setting from Info.plist (bug#22993)
36812         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
36813         it doesn't actually disable app nap.
36815 2016-07-09  Mario Lang  <mlang@delysid.org>
36817         An efficient built-in mapcan
36819         A built-in version of `mapcan' avoids consing up (and GC'ing) the
36820         intermediate list.
36822         * src/fns.c (Fmapcan): New built-in.
36823         (syms_of_fns): Define.
36825         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
36827         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
36828         if only one sequence is provided.
36830         * lisp/progmodes/hideif.el (hif-delimit):
36831         * lisp/dired-aux.el (dired-do-find-regexp):
36832         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
36833         `cl-mapcan'.
36835         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
36836         compiling.
36838         * lisp/mouse.el (mouse-buffer-menu-map):
36839         * lisp/net/pop3.el (pop3-uidl-dele):
36840         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
36841         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
36842         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
36843         * lisp/gnus/nnmail.el (nnmail-split-it):
36844         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
36845         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
36846         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
36848 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
36850         Detect aliases to built-in functions
36852         * lisp/help-fns.el (describe-function-1): Check for aliases
36853         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
36855         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
36856         failing this test.
36858 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
36860         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
36862         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
36863         New variable.
36864         (tramp-gvfs-maybe-open-connection): Use it.
36866         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
36867         Reorder test.
36869 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
36871         Wrap around error in coreutil's ls
36873         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
36874         "--quoting-style=literal" if remote host supports quoting style.
36875         Recent versions of coreutils changed default quoting style to
36876         "--quoting=shell-escape".
36878 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
36880         Minor tweaks of copying text properties when padding strings
36882         * src/editfns.c (styled_format): Don't include padding on the left
36883         in the properties at the beginning of the string.  (Bug#23897)
36885         * test/src/editfns-tests.el (format-properties): Add tests for
36886         faces when the string is padded on the left or on the right.
36888 2016-07-08  Mario Lang  <mlang@delysid.org>
36890         No need to require the same feature twice.
36892         * lisp/dired-aux.el (require 'cl-lib): Remove.
36894 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36896         Turn on lexical binding
36898         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
36899         (secrets-search-items, secrets-create-item): Use append.
36900         (secrets-show-secrets): Remove unused binding.
36901         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
36902         Ignore unused arguments.
36904 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36906         Derive secrets-mode from special-mode
36908         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
36909         (secrets-mode-map): New variable.  Add key bindings to n and p for
36910         navigating lines.
36911         (secrets-mode): Derive from special-mode.  Remove keymap code and
36912         initialization code.  Do not record undo information.  Make
36913         secrets-show-collections the local revert-buffer-function.
36914         (secrets-show-collections): Change signature to satisfy revert-buffer.
36916 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
36918         Add a couple cells to lisp-prettify-symbols-alist
36920         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
36921         "sqrt" and "not".
36923 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
36925         Detect remote uid and gid in tramp-gvfs.el
36927         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
36928         (tramp-gvfs-handler-mounted-unmounted)
36929         (tramp-gvfs-connection-mounted-p):
36930         Make "default-location" a connection property.
36931         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
36932         (tramp-gvfs-maybe-open-connection): Use them.
36934 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
36936         Yet another fix for copying properties by 'format'
36938         * src/textprop.c (extend_property_ranges): Accept an additional
36939         argument OLD_END, and only extend the end of a property range if
36940         its original end is at OLD_END; all the other ranges are left
36941         intact.  (Bug#23897)
36942         * src/editfns.c (styled_format): Pass the original length of the
36943         string to 'extend_property_ranges'.
36944         * src/intervals.h (extend_property_ranges): Adjust prototype.
36946         * test/src/editfns-tests.el (format-properties): Add tests for
36947         bug#23897.
36949 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
36951         Allow selecting region with mouse to move point to beginning
36953         * etc/NEWS: Mention new user option
36954         `mouse-select-region-move-to-beginning'.
36956         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
36957         to the following.
36958         (Word and Line Mouse): Describe how double-clicking mouse-1 to
36959         activate region and `mouse-select-region-move-to-beginning'
36960         affect point.
36962         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
36963         (mouse-set-point): Use it.  (Bug#23478)
36965 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
36967         Fix menu bar breakage
36969         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
36970         to prevent void variable errors, and fix typo (bug#23918).
36972 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
36974         Copy buffer names to kill ring
36976         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
36977         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
36978         ;* etc/NEWS: Add entry for this new feature.
36980 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36982         Remove just input mark
36984         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
36985         just MARK.
36987 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
36989         Ibuffer change marks
36991         * lisp/ibuffer.el (ibuffer-change-marks): New command.
36992         (ibuffer-mode-map): Bind it to '* c'.
36993         (ibuffer-mode-groups-popup): Update menus.
36994         (ibuffer-mode): Update mode doc.
36996 2016-07-07  Alan Third  <alan@idiocy.org>
36998         Prevent NS event loop being re-entered (bug#11049)
37000         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
37001         in event loop instead of aborting.
37003 2016-07-07  Alan Third  <alan@idiocy.org>
37005         Fix some deprecated functions
37007         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
37008         convertBaseToScreen with convertRectToScreen.
37009         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
37010         OS X 10.2, and always seems to return nil.
37012 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
37014         Disable App Nap (bug#22993)
37016         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
37018 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
37020         Fix an error in Tramp for rsync
37022         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
37023         Make it work for "rsync".
37024         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
37026 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
37028         Ibuffer: Mark locked buffers
37030         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
37031         (ibuffer-mark-by-locked): New command.
37032         (ibuffer-mode-map): Bind it to '% L'; update menus.
37033         (ibuffer-mode): Update mode doc.
37034         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
37036 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
37038         * lisp/ibuffer.el: Add face for locked buffers
37040         * lisp/ibuffer.el: Add mark for locked buffers
37042         ;* etc/NEWS (Ibuffer): Update entry according with last commit
37044 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
37046         Remove duplicate binding
37048         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
37049         just bound to '% g'.
37050         As suggested in:
37051         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
37053 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
37055         Ibuffer: Drop needless binding
37057         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
37058         already bound to 't' inside 'ibuffer-set-mark'.
37060 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
37062         Run tests from non-byte compiled files
37064         * test/Makefile.in: Eval non-byte-compiled files for tests.
37066 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
37068         Replace eldoc-documentation-function with a hook
37070         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
37071         (eldoc-documentation-function): Make into obsolete alias.
37072         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
37073         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
37074         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
37075         on eldoc-documentation-functions.
37076         (eldoc-supported-p): New function.
37077         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
37078         * etc/NEWS: Mention eldoc-documentation-functions.
37079         * doc/lispref/modes.texi: Update reference.
37081 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
37083         Complete "initial" and "unset" in CSS mode
37085         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
37086         "initial" and "unset" completion candidates for all CSS properties,
37087         just like "inherit".
37089         * test/lisp/textmodes/css-mode-tests.el
37090         (css-test-complete-property-value): Update test to reflect the above
37091         change.
37093 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
37095         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
37097 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37099         Simplify rfc1345.el a bit
37101         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
37102         that would no longer parse.  Replace control characters with
37103         escapes in character constants.  Omit unnecessary \ after ?.
37104         This does not change behavior.
37106 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
37108         Prefer 'frame-parameter' where it is expected to be a bit faster
37110         * lisp/international/mule-diag.el (mule-diag):
37111         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
37112         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
37113         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
37114         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
37116 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
37118         Reduce consing caused by vertical motion commands
37120         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
37121         parameters frequently requested by calls to 'next-line' and 'previous-line'.
37123 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
37125         Make all Tramp tests pass for "gdrive" method
37127         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
37128         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
37129         (tramp-compat-delete-directory):
37130         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
37131         Use `directory-files-no-dot-files-regexp'.
37133         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
37134         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
37135         case of problems.
37137         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
37138         Adapt docstring.
37139         (tramp-test14-delete-directory): Make further tests.
37141 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
37143         Fix redisplay with window-start on continuation lines
37145         * src/xdisp.c (pos_visible_p): Return false if the window starts
37146         after CHARPOS.
37147         (compute_window_start_on_continuation_line): Don't return
37148         window-start position that is after point in the buffer, as the
37149         callers don't expect this to happen, and will generally display an
37150         empty window with the cursor in its middle.  (Bug#23871)
37152 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
37154         Add :expected-result :failed for unfixed bug test
37156         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
37158 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
37160         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
37162 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
37164         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
37166         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
37167         there is no need for the end-marker to be created.
37169 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
37171         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
37173         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
37174         syntax to non-whitespace so that ‘\s-’ regular expression does not match
37175         it.
37177         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
37178         as a consequence ‘line-beginning-position’ function does not need to be
37179         called any longer.
37181         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
37182         expression ends up matching empty lins since ‘\s-’ matches newline
37183         characetr of proceeding line.  This leads to needless loop iterations.
37185         Since previous change to ‘delete-trailing-whitespace’ already introduced
37186         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
37187         character syntax.
37189 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
37191         Make ‘delete-trailing-whitespace’ delete spaces after form feed
37193         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
37194         a non-whitespace character (regradless of whether it’s character syntax
37195         is whitespace) and delete any whitespace following it instead of leaving
37196         lines with form feeds completely unchanged.  I.e. a line like "\f " will
37197         now became "\f".
37199 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
37201         Cleanup XEditRes hack
37203         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
37204         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
37205         linked with -lXmu.  This should work with any non-ancient Xmu library.
37206         * src/xfns.c (toplevel): Remove old cruft.
37207         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
37208         * src/xterm.c (toplevel): Remove old cruft.
37209         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
37210         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
37212 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
37214         Add Google Drive support to Tramp
37216         * doc/misc/tramp.texi: Add `gdrive' method.
37218         * doc/misc/trampver.texi:
37219         * lisp/net/trampver.el: Change version to "2.3.1-pre".
37221         * etc/NEWS: Add Tramp connection method "gdrive".
37223         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
37224         (tramp-default-user-alist, tramp-default-host-alist): Add rule
37225         for "gdrive".
37226         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
37227         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
37228         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
37229         "standard::display-name" as file name, if available.
37230         (tramp-gvfs-handle-file-name-all-completions): Simplify.
37231         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
37232         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
37233         Map between "gdrive" and "google-drive".
37235         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
37237         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
37238         Do not enable `tramp-message-show-message'.
37239         (tramp-test13-make-directory, tramp-test14-delete-directory):
37240         Do not specify error type.
37242 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
37244         Calc: Update mode line after change mode
37246         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
37248 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
37250         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
37252 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37254         Re-fix open-network-stream responsiveness
37256         Problem reported by Christer Ekholm (Bug#23864).
37257         * src/process.c (wait_reading_process_output): Further fix for
37258         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
37259         wait == INFINITY and got_output_end_time is invalid.  See:
37260         https://bugs.gnu.org/23864#20
37262 2016-07-03  Alan Mackenzie  <acm@muc.de>
37264         Remove redundant forms from CC Mode for faster fontification
37266         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
37267         the "main" cond form in the function, which have been redundant since the
37268         extraction of c-font-lock-cut-off-declarators from the function on
37269         2016-06-15/16.
37271 2016-07-03  Alan Mackenzie  <acm@muc.de>
37273         Speed up CC Mode fontification with less accurate functions extending region
37275         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
37276         (c-font-lock-enclosing-decls)
37277         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
37278         c-beginning-of-decl-1 with less accurate invocations of
37279         c-syntactic-skip-backwards to speed up fontification.
37281 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
37283         Ibuffer: unmark all buffers without confirmation
37285         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
37286         (ibuffer-mouse-popup-menu): Use it.
37287         (ibuffer-mode): Update mode doc.
37288         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
37289         Rebind 'ibuffer-do-replace-regexp' to 'r'.
37291 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37293         Fix open-network-stream responsiveness
37295         Problem reported by Constantin Kulikov (Bug#23684).
37296         * src/process.c (wait_reading_process_output):
37297         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
37298         when wait == INFINITY and got_output_end_time is invalid.
37299         In this case the code should break, not continue.
37301 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
37303         Ibuffer: Mark buffers by content
37305         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
37306         (ibuffer-never-search-content-name): New option.
37307         (ibuffer-never-search-content-mode): Idem.
37308         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
37310         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
37311         (ibuffer-mode): Update mode documentation.
37313 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
37315         ibuffer-copy-filename-as-kill verbosity increase
37317         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
37318         Use shorter name, result, for a local bound var.
37319         Show the string result in the echo area.
37321 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
37323         Fix cursor positioning on TTY frames after stretch glyph
37325         * src/term.c (append_glyph, append_composite_glyph)
37326         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
37327         members of the produced 'struct glyph'.  Fixes cursor positioning
37328         on the first character after a stretch glyph produced from
37329         line-prefix, wrap-prefix, etc. on TTY frames.
37331 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
37333         Fix vertical-movement in buffers with wrap-prefix
37335         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
37336         whenever we zero the vpos vertical position of the iterator.
37337         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
37338         wrap-prefix regardless of whether the current Y coordinate is
37339         inside the window dimensions.  (Bug#23879)
37341 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
37343         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
37345         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
37346         FACE_OPT_FROM_ID; all callers changed.
37347         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
37348         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
37349         dereferenced.
37350         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
37351         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
37352         when the glyph string is drawn.
37353         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
37354         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
37355         in fill_composite_glyph_string.
37356         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
37357         FACE_FROM_ID, since the function and its caller can cope with that
37358         situation.  Conflate 3 tests of missing face or font into just
37359         one.
37360         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
37361         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
37362         functions can cope with that situation.
37363         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
37364         not be used.
37365         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
37367 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
37369         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
37371 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
37373         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
37375         i.e. rename from auto-source--symbol-keyword.
37377 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
37379         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
37381         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
37382         get_widget_info.
37384 2016-06-30  Alan Mackenzie  <acm@muc.de>
37386         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
37388         This applies to applying or removing syntax-table text properties in raw
37389         strings which affect the stringiness of a piece of text.  This fixes the
37390         bug
37391         reported in
37392         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
37394         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
37395         defsubst.
37396         (c-invalidate-state-cache-1): Call new function in place of inline
37397         manipulation.
37398         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
37399         semi-nonlit cache when pertinent syntax-table text properties get applied to
37400         the text.
37402 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
37404         Minor tweaks to openp
37406         * src/lread.c (openp): Move invariant code out of the loop
37407         and thus avoid redundant calls to memcpy.  Adjust comments.
37409 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
37411         Simplify handling of frame parameters
37413         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
37414         foreground color, background color and font parameters.  Adjust
37415         comments.
37417 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
37419         Cleanup around mature character manipulation functions
37421         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
37423         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
37425         * lisp/subr.el (toplevel): Do not advertise calling conventions
37426         for 'decode-char' and 'encode-char'.
37428         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
37430 2016-06-29  Alan Mackenzie  <acm@muc.de>
37432         Fix C-M-a in a C function finding the start of a macro preceding it.
37434         Also amend some pertinent documentation.  This fixes bug #23818.
37436         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
37437         virtual semicolon at a place where we check for other types of statement ends.
37439         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
37440         doc string the bit saying that the variable is a prototype and liable to
37441         change.
37443         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
37444         macros with semicolon can prevent C-M-a missing the beginning of defun.
37446 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
37448         Avoid possible NULL pointer dereference found by GCC 6.1.1
37450         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
37451         the value returned by XRRGetOutputInfo.
37453 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
37455         Dired recognize dirs when file size in human units
37457         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
37458         to match when Dired displays the allocated file size column
37459         in human readable units (Bug#22255).
37461 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
37463         Fix breakage from previous change
37465         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
37466         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
37468 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
37470         Fix breakage from previous change.
37472         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
37474 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
37476         Add tests for copying properties by 'format'
37478         * test/src/editfns-tests.el (format-properties): New test.
37480 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
37482         Fix copying properties in 'format' when it produces padding
37484         * src/textprop.c (extend_property_ranges): Correct range extension
37485         when the new end is beyond the old end.  (Bug#23859)
37487 2016-06-27  Alan Third  <alan@idiocy.org>
37489         Enable dividers in NS (bug#22973)
37491         src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
37492         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
37493         attempt to set the colour.
37494         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
37495         above, although I didn't see any errors.
37497 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
37499         Fix the prefix action of shr-copy-url
37501         * lisp/net/shr.el (shr-copy-url): Make the command really copy
37502         the image url if given a prefix.
37504 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
37506         New functions svg-text and svg-remove
37508         * doc/lispref/display.texi (SVG Images): Document svg-remove.
37510         * doc/lispref/display.texi (SVG Images): Document svg-text.
37512         * lisp/svg.el (svg-remove): New function.
37513         (svg-text): New function.
37515 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
37517         Add new function dom-remove-node
37519         * doc/lispref/text.texi (Document Object Model): Document
37520         dom-remove-node.
37522         * lisp/dom.el (dom-remove-node): New function.
37524 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
37526         Add a new function `svg-embed'
37528         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
37530         * lisp/svg.el (svg-embed): New function.
37531         (svg--image-data): Ditto.
37533 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
37535         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
37537 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
37539         Fix 'move-to-window-line' when EOB is on last screen line
37541         * src/window.c (displayed_window_lines): Fix an off-by-one error
37542         when the bottom of the last display line is exactly at window's
37543         last pixel.  Remove kludgey fix for TTY frames that is no longer
37544         needed.  (Bug#15760)
37545         (Fmove_to_window_line): Doc fix.
37547         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
37548         accurate the documentation of 'move-to-window-line'.
37550 2016-06-27  Alan Mackenzie  <acm@muc.de>
37552         Amend a cache so that typing into C++ raw strings has no undue delay.
37554         Also amend the code so that low-level searches to the end of literals are done
37555         only when these positions get used.
37557         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
37558         c-literal-start instead of c-literal-limit.
37559         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
37560         it stores details of the literal at a point, rather than merely points outside
37561         of literals.
37562         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
37563         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
37564         (c-parse-ps-state-below, c-literal-start): New functions.
37565         (c-state-semi-safe-place): Removed.
37566         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
37567         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
37568         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
37569         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
37571         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
37572         to end of literals.
37574         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
37575         literals.
37577         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
37578         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
37580 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
37582         Also handle escaping when string begins with a quote
37584         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37585         Handle quoting of the first character in the string.
37587         * test/lisp/progmodes/ruby-mode-tests.el
37588         (ruby-toggle-string-quotes-quotes-correctly): Update.
37590 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
37592         Fix quote escaping in ruby-toggle-string-quotes
37594         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37595         Change logic to quote based on the current quote of the string.
37597         * test/lisp/progmodes/ruby-mode-tests.el
37598         (ruby-toggle-string-quotes-quotes-correctly): Add test.
37600 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
37602         Fix test-completion with completion-regexp-list
37604         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
37605         completion-regexp-list (Bug #23533).
37607 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37609         Try other addresses when connecting to multihomed
37611         Problem reported by Juliusz Chroboczek (Bug#17976)
37612         and by Artur Malabarba (Bug#23620).
37613         Patch from a suggestion by Andreas Schwab in:
37614         https://bugs.gnu.org/17976#39
37615         This patch is for non-MS-Windows platforms.
37616         I don't know the situation on MS-Windows.
37617         * src/process.c (connecting_status):
37618         New function, for (connect . ADDRINFOS).
37619         (connect_network_socket, check_for_dns, wait_for_socket_fds)
37620         (wait_while_connecting, wait_reading_process_output, status_notify):
37621         Use it.
37622         (decode_status, Fmake_network_process):
37623         Support (connect . ADDRINFOS) status.
37624         (connect_network_socket) [!WINDOWSNT]:
37625         If the connection failed and there are other addresses to try, do not
37626         signal an error; instead, loop around to try the next address.
37627         (wait_reading_process_output): Advance to the next address
37628         if there are multiple addresses and the first remaining address
37629         failed.
37630         * src/process.h (struct Lisp_Process.status): Adjust comment
37631         to describe (connect . ADDRINFOS).
37633 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37635         Fix GNUC_PREREQ for GCC 2.8.1 etc.
37637         Problem reported by Eli Zaretskii in:
37638         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
37639         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
37640         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
37641         patchlevel numbers.
37643 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
37645         Don't set 'bidi-paragraph-direction' in 'ansi-term'
37647         * lisp/term.el (ansi-term): Remove unnecessary setting of
37648         'bidi-paragraph-direction'.  The underlying problem is solved in
37649         bidi.c by changing the regexps that define the paragraph beginning
37650         and end.  (Bug#20611)
37652 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
37654         Sync with Tramp 2.3.0
37656         * doc/misc/trampver.texi:
37657         * lisp/net/trampver.el: Change version to "2.3.0".
37659 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37661         Fix GNUC_PREREQ off-by-1 typo
37663         Problem reported by Martin Rudalics in:
37664         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
37665         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
37666         Fix < vs <= typo.
37668 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
37670         Fix some oddities in Tramp's rsync and smb methods
37672         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
37673         "-s" arguments.
37674         (tramp-do-copy-or-rename-file-out-of-band):
37675         Call `file-name-directory' also for remote NEWNAME.
37677         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
37678         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
37679         (tramp-test24-file-name-completion): Improve check for
37680         hostname completion.
37681         (tramp--test-rsync-p): New defun.
37682         (tramp-test31-special-characters)
37683         (tramp-test31-special-characters-with-stat)
37684         (tramp-test31-special-characters-with-perl)
37685         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
37686         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
37687         (tramp-test32-utf8-with-ls): Skip for "rsync".
37689         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
37690         Check also for CIFS capabilities.
37692 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
37694         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
37696         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
37697         FRAME_INTERNAL_BORDER_WIDTH.
37699 2016-06-25  Leo Liu  <sdl.web@gmail.com>
37701         Deprecations (bug#23850)
37703         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
37704         string-to-multibyte, string-as-multibyte): Make obsolete.
37706 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
37708         Do not prompt twice to save a buffer
37710         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
37712 2016-06-25  Alan Third  <alan@idiocy.org>
37714         Move text line right when in box (bug#23755)
37716         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
37717         CHAR_GLYPH specific code and move glyphs right if within a box.
37718         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
37719         function.
37721 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
37723         Merge from origin/emacs-25
37725         0377fe2 ; Spelling fixes
37726         f253695 Update docs for `customize-mode'
37727         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
37728         ab0ebb9 ; Only load .elc file in tests.
37729         a98aa02 Error on multibyte characters in HTTP request
37730         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
37731         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
37732         dc5e65b Unset GIT_DIR when calling Git commands
37733         6cdd8f7 Ensure undo-boundary after insert-file-contents.
37734         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
37735         5f37572 Fix removal of variables from process-environment
37736         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
37737         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
37739         # Conflicts:
37740         #       doc/lispref/modes.texi
37741         #       lisp/gnus/mm-decode.el
37743 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
37745         Teach net-utils more iproute2 and nl80211 tools
37747         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
37748         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
37749         option is "phy"; beyond that one needs to know the interface name.
37750         (netstat-program): Add ss(8).
37751         (route-program): Add ip(8).
37752         (route-program-options): Add "route" argument for ip.
37754 2016-06-24  Leo Liu  <sdl.web@gmail.com>
37756         Use use-region-p in prolog.el
37758         * lisp/progmodes/prolog.el (region-exists-p): Remove.
37759         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
37760         prolog-edit-menu-insert-move): Use use-region-p.
37762 2016-06-24  Leo Liu  <sdl.web@gmail.com>
37764         Remove compatibility with Emacs 24.3 in octave-mode
37766         * lisp/progmodes/octave.el: Clean up and remove compatibility with
37767         Emacs 24.3.
37769 2016-06-24  Alan Mackenzie  <acm@muc.de>
37771         Ensure hack-local-variables is run in a fundamental mode buffer.
37773         This fixes bug #23827.
37775         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
37776         gets set to that mode, so that `run-mode-hooks', and thus
37777         `hack-local-variables' get run.
37779 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
37781         Fix caller to ediff-setup
37783         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
37785 2016-06-24  Alan Mackenzie  <acm@muc.de>
37787         Implement ' separators in C++ integer literals.
37789         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
37790         c-before-after-change-digit-quote into the C++ value.
37791         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
37792         for all languages.  Insert c-before-after-change-digit-quote into the C++
37793         value.
37795         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
37796         c-save-buffer-state.
37797         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
37799 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
37801         Update from gnulib
37803         This incorporates:
37804         2016-06-24 intprops: port better to GCC 7
37805         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
37806         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
37807         Copy from gnulib.
37809 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
37811         Remove two uses of 'min' in Fwindow_text_pixel_size
37813         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
37814         it calls move_it_to twice.  Suggested by Eli Zaretskii.
37816 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37818         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
37820         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
37821         since it is intended to be used only when it returns a non-null
37822         pointer, and here the pointer might be null.
37823         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
37825 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
37827         Remove some more face aliases obsoleted in 22.1
37829         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
37830         eshell-ls-executable-face, eshell-ls-readonly-face,
37831         eshell-ls-unreadable-face, eshell-ls-special-face,
37832         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
37833         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
37834         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
37835         (isearch-lazy-highlight-update): Use face symbol.
37836         * lisp/net/sieve-mode.el (sieve-control-commands-face,
37837         sieve-action-commands-face, sieve-test-commands-face,
37838         sieve-tagged-arguments-face): Remove.
37839         (sieve-font-lock-keywords): Use non-obsolete faces.
37840         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
37841         (sh-get-indent-info, sh-prev-line): Use face symbol.
37842         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
37843         Use non-obsolete face.
37844         (tex-math-face, tex-verbatim-face): Remove.
37845         (tex-font-lock-syntactic-face-function): Use face symbols.
37847 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
37849         Remove some face aliases obsoleted in 22.1
37851         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
37852         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
37853         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
37854         Info-title-4-face, info-menu-5):
37855         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
37856         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
37857         * lisp/progmodes/make-mode.el (makefile-space-face):
37858         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
37859         (texinfo-font-lock-keywords): Use texinfo-heading face.
37860         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
37861         change-log-email-face, change-log-file-face, change-log-list-face,
37862         change-log-conditionals-face, change-log-function-face,
37863         change-log-acknowledgement-face):
37864         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
37865         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
37866         diff-changed-face, diff-function-face, diff-context-face,
37867         diff-nonexistent-face): Remove.
37868         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
37869         symbols.
37870         (diff-hunk-file-names): Fix comment.
37871         (diff-refine-change): Remove.
37872         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
37873         non-obsolete face.
37874         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
37875         (log-view-font-lock-keywords): Use non-obsolete face names.
37876         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
37877         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
37878         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
37879         widget-field-face, widget-single-line-field-face, widget-inactive-face,
37880         widget-button-pressed-face):
37881         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
37882         woman-addition-face): Remove.
37884 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37886         * lisp/international/characters.el (standard-case-table): Improve last change.
37888 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37890         Improve results of 'upcase' for characters with title-case
37892         * lisp/international/characters.el (standard-case-table): Swap the
37893         order of some lines, to have 'upcase' return the upper-case
37894         variant, not the title-case, for some characters whose lower-case
37895         map to the same codepoints.  (Bug#23833)
37897 2016-06-23  Alan Mackenzie  <acm@muc.de>
37899         Make typing into incomplete C++ raw strings work, and make it work fast enough
37901         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
37902         Put `save-match-data' around calls to `looking-at' to enable the use of the
37903         match data in higher level functions.
37905         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
37906         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
37907         limit to speed up handling of C++ raw strings.
37909 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
37911         Fix handling of LWINDOW key on MS-Windows
37913         * src/w32fns.c (funhook): Correct a typo which broke handling of
37914         the LWINDOW key.  (Bug#23830)
37916 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37918         Update Unicode data files from Unicode 9.0.0
37920         * admin/unidata/copyright.html:
37921         * admin/unidata/BidiBrackets.txt:
37922         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
37923         released.
37925 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37927         Fix test for whether the '.el' file is newer than '.elc'
37929         * src/lread.c (Fload): Don't overwrite the last character of the
37930         file name in FOUND with 'c', unless the file name ended in ".elc"
37931         to begin with.  Don't treat empty files as byte-compiled.  See
37932         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
37933         for more details of the problem this caused.
37935 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
37937         Fix 'insert-file-contents' when REPLACE is non-nil
37939         * src/fileio.c (maybe_move_gap): New function to move the gap to
37940         the end of a buffer, if it isn't there already.
37941         (Finsert_file_contents): Call 'maybe_move_gap' before using
37942         conversion_buffer's text as a C 'char' array.  (Bug#23659)
37943         * src/coding.c (decode_eol): Compute the byte increment before
37944         calling del_range_2, because the latter can invalidate the pointer
37945         to buffer text.
37947 2016-06-22  Ken Brown  <kbrown@cornell.edu>
37949         Avoid compiler warning
37951         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
37953 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
37955         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
37957 2016-06-22  Ken Brown  <kbrown@cornell.edu>
37959         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
37961         * src/w32fns.c (x_set_internal_border_width): Don’t use
37962         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
37963         lvalue.
37965 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37967         Improve --without-x GCC pacification
37969         * src/composite.c (autocmp_chars):
37970         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
37971         Use simpler ((void) 0) for no-op expression returning void.
37972         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
37973         Include fontset.h, for face_for_char.
37974         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
37975         Now inline functions instead of macros.  This avoids the need for
37976         all those casts to void.
37977         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
37978         All uses changed.
37979         * src/frame.c (Ficonify_frame, Fset_frame_position):
37980         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
37981         * src/xdisp.c (note_mode_line_or_margin_highlight)
37982         (note_mouse_highlight):
37983         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
37984         now work either way without generating warnings.
37985         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
37986         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
37987         (decode_window_system_frame): Use check_window_system instead of
37988         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
37989         (decode_window_system_frame, check_window_system):
37990         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
37991         * src/frame.c (Ficonify_frame, Fset_frame_position):
37992         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
37993         (note_mouse_highlight):
37994         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
37995         this is a better way to pacify GCC.
37996         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
37997         (x_set_right_divider_width, x_set_bottom_divider_width):
37998         * src/xfns.c (x_set_internal_border_width):
37999         Don’t use what are now function calls as lvalues.
38000         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
38001         (decode_window_system_frame, check_window_system):
38002         Use it, to avoid the need for duplicate declarations.
38003         (window_system_available): Now an inline function.
38004         (display_available): New decl.
38005         (frame_dimension): New inline function.
38006         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
38007         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
38008         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
38009         (FRAME_BOTTOM_DIVIDER_WIDTH):
38010         Use it, to avoid the need for duplicate definitions.
38011         Now inline functions instead of macros.
38012         * src/gnutls.c (gnutls_log_function2i): Remove.
38013         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
38014         This avoids complaints about gnutls_log_function2i being defined
38015         and not used on older platforms that do not need to call GNUTLS_LOG2i.
38016         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
38017         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
38018         expr’ to ‘type id; id = expr’, as this would suppress valid
38019         jump-misses-init diagnostics.  Let’s find a better way to address
38020         the problem.
38021         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
38022         Define only if needed.
38023         * src/xdisp.c (handle_single_display_spec):
38024         Simplify fringe_bitmap computation.
38025         (define_frame_cursor1): Do nothing unless in a window system.
38026         All callers changed and simplified.
38027         * src/xfaces.c (realize_default_face):
38028         Use a simpler way to pacify GCC when a return value is not used
38029         on some platforms.
38031 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
38033         Ensure undo-boundary after all commands
38035         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
38036           every command whether it (apparently) changes the buffer or not.
38038         See Bug#23785 for discussion.
38040 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
38042         Fix vertical layout calculations when newline has line-height property
38044         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
38045         'constrain_row_ascent_descent_p' flag after processing the
38046         newline, similar to what 'display_line' does.  Without this, the
38047         flag remains set once set by x_produce_glyphs, and causes the
38048         vertical layout calculations to go awry, because Emacs thinks the
38049         screen lines have zero height.  (Bug#23850)
38051 2016-06-20  Ken Brown  <kbrown@cornell.edu>
38053         Fix compiler warnings in Cygwin-w32 build
38055         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
38056         loop to avoid compiler warnings about empty body of 'if'
38057         statement.
38059         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
38060         macro.
38061         (x_create_bitmap_from_data): Declare 'frame'.
38062         (x_create_bitmap_from_file): Don't declare unused variable
38063         'dpyinfo'.
38065         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
38066         prevent "jump-misses-init" compiler warnings.
38068         * src/w32fns.c (check_w32_winkey_state): Define and use only if
38069         WINDOWSNT.
38070         (Fx_show_tip): Declare 'f'.
38071         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
38072         (w32_strerror): Use format specifier %d for sprintf argument of
38073         type int.
38074         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
38075         int, and use format specifier %x, for compatibility with Cygwin.
38076         (unicode_append_menu) [NTGUI_UNICODE]:
38077         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
38078         (set_menu_item_info, unicode_append_menu)
38079         (unicode_message_box):
38080         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
38081         functions rather than macros to avoid "address will always
38082         evaluate as true" compiler warnings.
38084         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
38085         sprintf argument of type int.
38087         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
38088         sprintf argument of type int to unsigned int to match %X format
38089         specifier.
38090         (w32_scroll_bar_handle_click):
38091         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
38093         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
38094         argument.
38096 2016-06-20  Ken Brown  <kbrown@cornell.edu>
38098         Fix compiler warnings in no-window-system-build
38100         * src/composite.c (autocmp_chars): Declare and set 'f' only if
38101         HAVE_WINDOW_SYSTEM.
38103         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
38104         (FACE_FOR_CHAR): Explicitly discard unused arguments.
38106         * src/font.c (font_open_entity): Declare 'min_width' where it is
38107         first set, and only if HAVE_WINDOW_SYSTEM.
38109         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
38110         Define _Noreturn version to avoid "suggest attribute noreturn"
38111         compiler warning.
38112         (check_window_system): Declare as _Noreturn.
38113         (Ficonify_frame):
38114         (Fset_frame_position): Don’t declare and set 'f'.
38116         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
38117         (check_window_system):  Add _Noreturn prototypes.
38118         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
38119         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
38120         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
38121         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
38123         * src/xdisp.c (handle_single_display_spec): Declare
38124         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
38125         (append_space_for_newline): Declare 'g' where it is first set.
38126         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
38127         HAVE_WINDOW_SYSTEM.
38128         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
38129         if HAVE_WINDOW_SYSTEM.
38130         (note_mode_line_or_margin_highlight):
38131         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
38132         only if HAVE_WINDOW_SYSTEM.
38134         * src/xfaces.c (realize_default_face): Declare and set 'face' only
38135         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
38137 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
38139         Weaken test conditions in filenotify-tests.el
38141         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
38142         Fix thinko in test.
38143         (file-notify-test02-events, file-notify-test04-file-validity)
38144         (file-notify-test07-backup)
38145         (file-notify-test08-watched-file-in-watched-dir): Make test
38146         conditions more weak.  (Bug#23618)
38148 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38150         Minor ABLOCKS_BUSY cleanups in alloc.c
38152         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
38153         with member ‘abase’ in definiens.
38154         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
38155         Avoid compiler warning with fewer casts.
38156         (lisp_align_free): Check busy-field values; this can help the
38157         compiler a bit when optimizing, too.
38159 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
38161         ASCII-fy coding-system-for-read used for Git commands
38163         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
38164         New function.
38165         (vc-git-diff, vc-git-annotate-command): Use it.
38167 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
38169         Prohibit multibyte characters in url-http-data
38171         It didn't work anyway, but this makes any such errors more obvious
38172         by catching them earlier.
38174         * lisp/url/url-http.el (url-http-create-request):
38175         Use string-to-unibyte (bug#23750).
38177 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
38179         Fix setting a range of char-table slots in a singular case
38181         * src/chartab.c (char_table_set_range): Start the loop from the
38182         first character of the block to which FROM belongs.  (Bug#23797)
38184         * test/src/chartab-tests.el: New test file.
38186 2016-06-19  Alan Mackenzie  <acm@muc.de>
38188         Fix CC Mode fontification problem apparent in test file decls-6.cc.
38190         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
38191         "bar (gnu);" as a declarator only when the construct is directly inside a
38192         class (etc.) called "bar".
38193         (c-directly-in-class-called-p): New function.
38195 2016-06-19  Alan Mackenzie  <acm@muc.de>
38197         c-renarrow-state-cache: take care when new point is inside old brace pair.
38199         Also add display of point-min to the c-parse-state debugging output.
38201         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
38202         point is inside an old recorded brace pair, clear the cache.
38203         (c-debug-parse-state): Output the value of point-min.
38205 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
38207         Rename ALIGN to pointer_align
38209         * src/alloc.c (pointer_align): Rename from ALIGN.
38210         This fixes Bug#23764 in a simpler way.
38212 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
38214         Merge from origin/emacs-25
38216         d1efbaf Fix documentation of completion functions
38217         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
38218         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
38219         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
38221 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
38223         Merge from origin/emacs-25
38225         2317c61 Fix last todo-mode change
38226         5d4d8a3 Improve last todo-mode fix
38227         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
38228         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
38229         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
38230         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
38231         d308aa1 Minor grammar fix (bug#23746)
38232         20de667 Doc fixes for grammar and typos (bug#23746)
38233         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
38234         27f440e Add cross-reference to ELisp manual
38235         10802d8 ; make change-history-commit
38236         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
38237         12e009e Restore initial undo boundary with viper
38238         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
38239         6921f4a Fix dbus crash on 32-bit Cygwin
38241 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
38243         Merge from origin/emacs-25
38245         9ae514a * etc/AUTHORS: Update the AUTHORS file
38246         3ca428e add entries to authors.el
38247         66d556b Fix eldoc-related freezes in python mode
38248         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
38249         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
38250         a813487 Fix undo boundary in recursive edit (Bug#23632)
38251         1f85b7c Doc fixes re alist-get.  (Bug#23548)
38252         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
38253         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
38254         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
38255         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
38256         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
38258 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
38260         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
38262 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
38264         Fix seq-contains
38266         Make sure seq-contains return the element of the sequence instead of t.
38268         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
38269         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
38271 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
38273         Add new function map-do
38275         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
38276           functions.
38277         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
38279 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
38281         Add seq-do-indexed
38283         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
38284         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
38286 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
38288         map.el (map-merge*): Use `map-into' at beginning rather than end
38290         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
38291         and don't use of an intermediate alist.
38292         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
38293         3 lookups per inner iteration.
38295 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
38297         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
38299 2016-06-15  Alan Mackenzie  <acm@muc.de>
38301         Speed up CC Mode's font locking by taking some code out of a hot loop.
38303         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
38304         tests for bare declarators.
38305         (c-font-lock-cut-off-declarators): New function.
38306         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
38308 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
38310         Automatically find vars and functions via definition-prefixes
38312         * lisp/help-fns.el (help-definition-prefixes): New var and function.
38313         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
38314         New functions.
38315         (describe-function, describe-variable): Use them.
38317         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
38318         (radix-tree-prefixes, radix-tree-from-map): New functions.
38320 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
38322         Automatically detect whether .h file is C or C++
38324         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
38325         analyzes contents of the buffer to determine whether it looks like C++
38326         source code and based on that enables c-mode or c++-mode.
38327         (c-or-c++-mode--regexp): Regular expression which, when matches
38328         a buffer, signals file is C++.
38330 2016-06-15  Alan Mackenzie  <acm@muc.de>
38332         Parse compound identifiers in C++ member initialization lists.
38334         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
38335         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
38336         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
38337         than c-simple-skip-symbol-backward.
38339 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
38341         Advertize set-keymap-parent as replacement for copy-keymap
38343         * doc/lispref/keymaps.texi (Creating Keymaps):
38344         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
38346 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
38348         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
38349         value is missing
38351 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
38353         Add new ansible-inventory-generic-mode (Bug#23762)
38355         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
38357 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
38359         Fix ifdef-vs-if typo with RANDR13_LIBRARY
38361         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
38362         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
38363         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
38365 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
38367         Port to platforms where char * has top bit set
38369         This fixes a five-year-old FIXME comment.  Although I don’t know
38370         of a platform where this is a problem in practice, better safe
38371         than sorry.
38372         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
38373         as it is now an integer, not char *.
38374         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
38375         this is a file offset and EMACS_INT is better if --with-wide-int.
38376         If SUBRP, simply store the offset rather than negating it and
38377         converting it to char *.
38378         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
38380 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
38382         Remove recursion from store_function_docstring
38384         * src/doc.c (store_function_docstring):
38385         Refactor to avoid the need for C-level recursion.
38387 2016-06-14  Ken Brown  <kbrown@cornell.edu>
38389         Remove system-specific -I switch from Cygwin-w32 build
38391         Suggested by Eli Zaretskii in discussion of bug#18302.
38393         * src/image.c [HAVE_NTGUI]: Remove the unused macro
38394         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
38395         "X11/xpm.h".
38397         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
38398         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
38400 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
38402         Make python.el work in Emacs 24
38404         * lisp/progmodes/python.el: Bump version.
38405         (python-define-auxiliary-skeleton): Only use format-message if
38406         fbound (Bug#23126).
38408 2016-06-13  Ken Brown  <kbrown@cornell.edu>
38410         Avoid compiler warning
38412         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
38413         'type_CtrlAlt'.
38415 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
38417         Call tzset after setting TZ
38419         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
38420         the setting change propagates into Emacs local time (Bug#23600).
38421         (emacs_setenv_TZ): Clarify comments.
38423 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
38425         Update texinfo.tex
38427         * doc/misc/texinfo.tex: Update from gnulib.
38429 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
38431         New macro GNUC_PREREQ for GCC version
38433         * src/conf_post.h (GNUC_PREREQ): New macro.
38434         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
38435         macro instead, for clarity and consistency.
38436         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
38437         if glibc, since non-GNU platforms don’t necessarily support GNU
38438         printf formats.
38439         (ATTRIBUTE_FORMAT_PRINTF): Use it.
38441 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
38443         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
38445 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
38447         Fix printf-related compilation warnings on MinGW
38449         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
38450         '__ms_printf__', not '__gnu_printf__', as the latter is not what
38451         MS 'printf' supports, and causes bogus compilation warnings.
38452         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
38453         doesn't support the "ll" modifier.
38455 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
38457         emacs_strerror cleanups
38459         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
38460         no longer needed, now that emacs_strerror is declared by lisp.h.
38461         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
38462         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
38463         to lisp.h.
38464         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
38465         convert result string; this is now the caller’s responsibility,
38466         as some need conversion and others don’t.
38467         * src/fileio.c (report_file_errno, report_file_notify_error):
38468         Use emacs_strerror rather than rolling it ourselves.
38469         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
38470         * src/lread.c (dir_warning): Just call emacs_strerror rather than
38471         both strerror and emacs_strerror.  Convert its result from
38472         locale-coding-system, since it no longer does that conversion.
38473         * src/sound.c (sound_perror):
38474         * src/sysdep.c (emacs_perror, str_collate):
38475         Use emacs_strerror, not strerror.
38477 2016-06-10  David Reitter  <david.reitter@gmail.com>
38479         Prevent compiler warning for unused arguments
38481         * lisp/international/ucs-normalize.el
38482         (ucs-normalize-hfs-nfd-pre-write-conversion):
38483         Prevent compiler warning for unused arguments, add coment.
38485 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
38487         Catch malloc_get_state, malloc_set_state failure
38489         This should help insulate Emacs better from configuration screwups.
38490         Future versions of the GNU C library are planned to deprecate
38491         these functions, but will continue to support them in
38492         already-built-and-dumped Emacs executables.
38493         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
38494         Abort if malloc_set_state fails.
38495         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
38496         Report malloc_get_state failure, and exit.
38498 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
38500         Show returned value after gdb-mi "finish" command
38502         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
38503         "Value returned" message in response to "finish", when not
38504         produced by GDB/MI.  (Bug#23720)
38506 2016-06-10  David Reitter  <david.reitter@gmail.com>
38508         Simplify pre-write-conversion for utf-8-hfs coding system
38510         * lisp/international/ucs-normalize.el
38511         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
38513         May address an issue where Emacs consumed large amounts of CPU
38514         because of neverending toolbar updating (which was caused
38515         by, but also called this function).
38517 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
38519         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
38521         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
38522         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
38523         Monnier.  (Bug#19185, Bug#20398)
38525         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
38527         That commit did more harm than good (Bug#23571).
38529 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38531         Port __builtin_assume_aligned to Sun C 5.13
38533         * src/conf_post.h (__builtin_assume_aligned):
38534         Fix typo: the extra arg did not conform to C99.
38536 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38538         Prefer getsockopt to getpeername on non-MS-Windows
38540         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
38541         * configure.ac: Don’t check for getpeername.
38542         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
38543         Use getsockopt even if not GNU/Linux, as the platforms where
38544         getsockopt used to hang are no doubt long dead.
38546 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
38548         Fix XFASTINT of non-fixnum in process status
38550         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
38551         not int *, and is not decoded.  All uses changed.
38552         (status_message): Do not assume ‘failed’ code is an integer.
38553         * src/process.h: Document codes better.
38555 2016-06-09  Glenn Morris  <rgm@gnu.org>
38557         Make messcompat.el obsolete.
38559         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
38560         * doc/misc/message.texi (Compatibility): Remove section.
38562 2016-06-09  Glenn Morris  <rgm@gnu.org>
38564         Leading "*" in the doc of defvars is long obsolete.
38566         * lisp/plstore.el (plstore-encrypt-to):
38567         * lisp/cedet/semantic/lex-spp.el
38568         (semantic-lex-spp-macro-max-length-to-save):
38569         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
38570         * lisp/cedet/semantic/bovine/el.el
38571         (semantic-elisp-store-documentation-in-tag):
38572         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
38573         (wisent-expected-conflicts):
38574         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
38575         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
38576         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
38577         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
38578         (gnus-browse-menu-hook):
38579         * lisp/gnus/message.el (message-shoot-gnksa-feet):
38580         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
38581         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
38582         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
38583         * lisp/gnus/mml.el (mml-generate-multipart-alist):
38584         * lisp/gnus/nndraft.el (nndraft-required-headers):
38585         * lisp/gnus/nnheader.el (nnheader-max-head-length)
38586         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
38587         (nnheader-directory-separator-character)
38588         (nnheader-pathname-coding-system):
38589         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
38590         (nnmail-active-file-coding-system):
38591         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
38592         * lisp/gnus/nntp.el (nntp-record-commands):
38593         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
38594         (gnus-score-mode-hook, gnus-score-menu-hook):
38595         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
38596         (rfc2047-allow-irregular-q-encoded-words)
38597         (rfc2047-allow-incomplete-encoded-text):
38598         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
38599         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
38600         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
38601         * lisp/net/pop3.el (pop3-password):
38602         * lisp/play/animate.el (animate-n-steps):
38603         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
38604         Convert from defvar with leading * to defcustom.
38607         * lisp/emulation/viper-init.el (viper-heading-end):
38608         * lisp/gnus/mm-url.el (mm-url-html-entities):
38609         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
38610         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
38611         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
38613         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
38614         (message-from-style, message-interactive, message-indentation-spaces)
38615         (message-signature, message-signature-file):
38616         Remove settings that match the defaults.
38617         (message-setup-hook, message-mode-hook, message-default-headers)
38618         (message-send-hook, message-send-mail-function):
38619         Just use setq rather than redefining.
38621         * lisp/gnus/nnrss.el (nnrss):
38622         * lisp/mail/rfc2047.el (rfc2047):
38623         * lisp/play/animate.el (animate): New custom groups.
38625 2016-06-09  Glenn Morris  <rgm@gnu.org>
38627         Remove obsolete leading * from defcustom, defface doc strings.
38629         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
38630         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
38631         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
38632         * lisp/cedet/semantic/decorate/include.el:
38633         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
38634         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
38635         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
38636         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
38637         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
38638         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
38639         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
38640         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
38641         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
38642         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
38643         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
38644         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
38645         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
38646         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
38647         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
38648         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
38649         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
38650         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
38651         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
38652         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
38653         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
38654         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
38655         Remove obsolete leading * from defcustom, defface doc strings.
38657 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
38659         Fix copying text properties by 'format'
38661         * src/editfns.c (styled_format): Fix copying text properties from
38662         the format specification to the produced string representation.
38663         (Bug#23730)
38664         (Fformat) Doc fix.
38666         * doc/lispref/strings.texi (Formatting Strings): Document that
38667         text properties from the format specifiers are also copied to the
38668         produced string.
38670 2016-06-09  Alan Mackenzie  <acm@muc.de>
38672         Handle C++ raw strings.
38674         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
38675         (c-depropertize-raw-strings-in-region,
38676         c-before-change-check-raw-strings)
38677         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
38678         functions.
38680         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
38681         c-font-lock-raw-strings.
38682         (c-font-lock-raw-strings): New function.
38684         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
38685         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
38686         into the values for C, C++, and Objective C.
38687         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
38688         the C++ value.
38690         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
38691         (c-depropertize-CPP): New function, extracted from
38692         c-neutralize-syntax-in-and-mark-CPP.
38693         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
38694         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
38695         of the function.
38696         (c-after-change): Set c-old-BEG and c-old-END to the current values of
38697         c-new-BEG and c-new-END.
38699 2016-06-09  Daiki Ueno  <ueno@gnu.org>
38701         epg: don't use obsolete function
38703         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
38704         redundant configuration check, which is now done in
38705         `epg-make-context'.
38707 2016-06-09  Daiki Ueno  <ueno@gnu.org>
38709         epg: don't start pinentry if it is useless
38711         * lisp/epg.el (epg--start): Don't start pinentry server if the
38712         session is non-interactive or pinentry-mode is set.
38714 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38716         Replace IF_LINT by NONVOLATILE and UNINIT
38718         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
38719         * .dir-locals.el (c-mode): Adjust to macro changes.
38720         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
38721         (IF_LINT): Remove.  All uses replaced by the new macros.
38723 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
38725         Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
38727         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
38728         in favour of ‘cl-letf’ macro which is more generic.  All existing
38729         uses are migrated accordingly.  The macro has not been included in
38730         an official release yet so it should be fine to delete it.
38732 2016-06-08  Glenn Morris  <rgm@gnu.org>
38734         * test/lisp/emacs-lisp/package-tests.el
38735         (package-test-update-archives-async): Try re-enabling on hydra.
38737 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38739         * src/fileio.c (auto_save_error): Omit unused local.
38741 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
38743         Simplify overflow check via INT_SUBTRACT_WRAPV
38745         * src/editfns.c (check_tm_member): Simplify integer overflow check.
38747 2016-06-07  Glenn Morris  <rgm@gnu.org>
38749         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
38751         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
38752         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
38753         Ensure gnutls-serv process gets killed.
38754         (echo-server-nowait, connect-to-tls-ipv4-nowait):
38755         Limit the amount of time we might wait.
38757 2016-06-07  Glenn Morris  <rgm@gnu.org>
38759         Reduce allout.el's pollution of the namespace.
38761         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
38762         Keep old name as obsolete alias.
38763         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
38764         (allout-solicit-char-in-string)
38765         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
38766         Rename to add an "allout-" prefix.
38768 2016-06-07  Glenn Morris  <rgm@gnu.org>
38770         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
38772 2016-06-07  Glenn Morris  <rgm@gnu.org>
38774         Misc small webjump updates.
38776         * lisp/net/webjump.el (webjump): Add custom group.
38777         (webjump-sample-sites): Make it a constant.
38778         Remove explicit, old list of GNU ftp mirrors.
38779         (webjump-state-to-postal-alist): Make it a constant.
38780         (webjump-sites): Make it a defcustom.
38781         (webjump-to-iwin): Update for changed remote service.
38783 2016-06-07  Glenn Morris  <rgm@gnu.org>
38785         Do not hard-code port for package test server.  (Bug#23708)
38787         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
38788         Do not hard-code port.
38789         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
38790         Update for the above change.
38792 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38794         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
38796 2016-06-07  Glenn Morris  <rgm@gnu.org>
38798         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
38800 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38802         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
38803         Fix non-file-visiting-buffer case.  (Bug#22678)
38805 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38807         Port --enable-gcc-warnings to clang 3.7.0
38809         * configure.ac: Add -Wno-tautological-compare to avoid bogus
38810         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
38811         seem to be needed, at least in Fedora 23 x86-64.
38813 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38815         Use __builtin_assume_aligned on untagged Lisp vals
38817         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
38818         New macros, for compilers not already defining them.
38819         (__has_builtin___builtin_assume_aligned): New macro.
38820         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
38821         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
38823 2016-06-07  Glenn Morris  <rgm@gnu.org>
38825         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
38826         aliases as the type of their targets.
38828 2016-06-07  Tino Calancha  <f92capac@gmail.com>
38830         * lisp/simple.el (process-menu-mode, list-processes--refresh):
38831         Include PID.  (Bug#21725)
38833 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38835         Merge from origin/emacs-25
38837         6e3adf8 Fix crash in syntax.c after GC
38838         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
38839         9d5cceb Fix doc string quoting
38840         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
38841         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
38843 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38845         Merge from origin/emacs-25
38847         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
38848         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
38849         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
38850         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
38852 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
38854         Use standard Unicode names for Thai, Lao
38856         * lisp/language/lao-util.el, lisp/language/thai-util.el:
38857         Don’t override standard Unicode character name (Bug#23698).
38859 2016-06-06  Glenn Morris  <rgm@gnu.org>
38861         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
38862         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
38864 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
38866         Some fixes in filenotify-tests.el for cygwin
38868         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
38869         Reintroduce value for cygwin, it's needed on slow systems.
38870         (file-notify--wait-for-events): Move up definition.
38871         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
38872         (file-notify--test-with-events-check, file-notify--test-with-events)
38873         (file-notify-test08-watched-file-in-watched-dir):
38874         Use :random rather than `random.
38875         (file-notify-test06-many-events): Do not skip for cygwin.
38877 2016-06-05  Juri Linkov  <juri@linkov.net>
38879         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
38881         If non-nil, operate on multiple chunks.  (Bug#23655)
38883         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
38885 2016-06-05  Juri Linkov  <juri@linkov.net>
38887         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
38889         to interactive spec to handle shift-selection.  (Bug#23642)
38891 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
38893         Improve robustness of filenotify-tests.el (Bug#23618)
38895         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
38896         (file-notify--test-no-descriptors-explainer)
38897         (file-notify--test-cleanup-p): New defuns.
38898         (file-notify--test-cleanup): Don't check for
38899         `file-notify--test-event' anymore, that's done in
38900         `file-notify--test-no-descriptors'.
38901         (file-notify--test-with-events-check)
38902         (file-notify--test-with-events): Handle the `random' marker.
38903         (file-notify--test-with-events-explainer): Improve readability.
38904         (file-notify-test00-availability)
38905         (file-notify-test01-add-watch, file-notify-test02-events)
38906         (file-notify-test03-autorevert)
38907         (file-notify-test04-file-validity)
38908         (file-notify-test05-dir-validity)
38909         (file-notify-test06-many-events, file-notify-test07-backup)
38910         (file-notify-test08-watched-file-in-watched-dir)
38911         (file-notify-test09-sufficient-resources): Check also
38912         `file-notify--test-cleanup-p'.
38913         (file-notify-test04-file-validity)
38914         (file-notify-test05-dir-validity): Use `ignore' as handler.
38915         (file-notify-test05-dir-validity)
38916         (file-notify-test06-many-events): Delete directory finally.
38917         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
38919 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
38921         man.el: Fix links on hyphenated words (bug#23647)
38923         * lisp/man.el (Man-bgproc-sentinel): Make links work on
38924         hyphenated words.
38926 2016-06-05  K. Handa  <handa@gnu.org>
38928         Add category 'j' to more characters.
38930         * lisp/international/characters.el: Add category 'j' (Japanese)
38931         to characters in japanese-jisx0213.2004-1.
38933 2016-06-04  Tino Calancha  <f92capac@gmail.com>
38935         isearch-edit-string resumes multi isearches
38937         * lisp/isearch.el (with-isearch-suspended): Remember and restore
38938         multi-isearch variables.  (Bug#21663)
38940 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
38942         Fix Eshell display when RTL characters are involved
38944         * lisp/eshell/esh-mode.el (eshell-mode): Set
38945         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
38947 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
38949         Make ses-jump with completing input.
38951         * lisp/ses.el (ses-jump): Make symbol input completing against list of
38952           named cells.
38954 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38956         Port angle-bracket TZ settings to MS-Windows
38958         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
38959         lack of support for numeric time zone abbreviations.
38960         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
38961         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
38962         Problem reported by Kazuhiro Ito (Bug#23600).
38964 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38966         Avoid delving into Git internals for version
38968         * lisp/loadup.el (exec-path): Set it to nil later, so that
38969         emacs-repository-get-version can invoke git commands in the PATH.
38970         * lisp/version.el (emacs-repository--version-git-1): Remove.
38971         (emacs-repository-get-version): Let Git do it rather than
38972         delving into Git internals.
38974 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
38976         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
38978 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
38980         Fix emacs-repository-get-version with packed .git
38982         * lisp/version.el (emacs-repository-get-version):
38983         Parse .git/packed-refs if it exists.
38984         Problem reported by Martin Rudalics in:
38985         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
38987 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
38989         Minor change in tramp.texi
38991         * doc/misc/tramp.texi (Password handling): Do not discuss
38992         anymore how to get password-cache.el.  It is bundled with
38993         Emacs.
38995 2016-06-01  Alan Mackenzie  <acm@muc.de>
38997         Correct fontification and indentation of C++'s "constexpr" expressions
38999         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
39000         (c-modifier-kwds): Add "constexpr".
39002 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
39004         Cosmetic change to kinsoku-eol.  (tiny change)
39006         * lisp/international/kinsoku.el (kinsoku-eol): Make the
39007         order of characters match with the comments.
39009 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
39011         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
39013         * lisp/language/japan-util.el (japanese-kana-table): Add an
39014         entry for HIRAGANA ITERATION MARK (U+309D).
39015         (japanese-alpha-numeric-table): Fix docstring.
39017 2016-05-31  K. Handa  <handa@gnu.org>
39019         Fix incomplete handling of translation table in a coding system.
39021         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
39022         is an alist, return a character or a vector of character.
39023         (produce_chars): Adjust for the above change.
39024         (consume_chars): Likewise.
39026 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
39028         Improve robustness for out-of-band copy in Tramp
39030         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
39031         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
39032         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
39033         Cosmetic changes.
39035         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
39036         Use local `default-directory'.  Simplify command to send.
39037         Don't check return code, this was already done in
39038         `tramp-process-actions'.
39039         (tramp-get-inline-coding): Don't set `default-directory'.
39041         * lisp/net/tramp.el (tramp-action-out-of-band):
39042         Throw `out-of-band-failed'.
39043         (tramp-process-actions): Handle `out-of-band-failed'.
39044         (tramp-call-process, tramp-call-process-region):
39045         Use local `default-directory'.
39047 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
39049         Merge from origin/emacs-25
39051         788c9b6 ; Spelling fix
39052         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
39053         0992ec3 Correct cl-flet usage (Bug#22317)
39054         50caae3 Release MH-E manual version 8.6
39055         602bb40 Update MH-E's documentation about HTML renderers
39056         89018f0 Fx the we->the typo
39057         845ee57 Restore frames into the current display by default
39058         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
39059         01c3cd1 etc/TODO: Remove out-of-place issue
39060         5e18486 Clarify doc string of 'file-name-sans-extension'
39061         bffda22 Fix the MSDOS build
39062         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
39063         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
39064         f7ffc4b Fix infloop in 'number-sequence'
39065         4ab2673 ; Spelling and punctuation fixes in comments
39066         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
39068 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
39070         * lisp/emacs-lisp/autoload.el: Use radix-tree.
39072          (autoload--make-defs-autoload): Rewrite.
39073         (autoload--split-prefixes-1): Remove.
39074         (autoload-def-prefixes-max-entries): Rename from
39075         autoload-defs-autoload-max-size.
39076         (autoload-popular-prefixes): Remove.
39077         (autoload-def-prefixes-max-length): New const.
39079         * lisp/emacs-lisp/radix-tree.el: New file.
39081 2016-05-30  Ken Brown  <kbrown@cornell.edu>
39083         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
39085 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
39087         Omit IF_LINT code that no longer seems needed
39089         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
39090         and now is as good a time as any to remove uses of IF_LINT that
39091         now seem to be unnecessary.
39092         * lib-src/emacsclient.c (set_local_socket):
39093         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
39094         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
39095         * src/casefiddle.c (casify_region):
39096         * src/charset.c (load_charset_map):
39097         * src/coding.c (decode_coding_object, encode_coding_object):
39098         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
39099         (cons_to_unsigned, cons_to_signed):
39100         * src/frame.c (make_frame, x_set_frame_parameters):
39101         * src/keyboard.c (read_event_from_main_queue):
39102         * src/regex.c (regex_compile):
39103         * src/syntax.c (back_comment):
39104         * src/window.c (Frecenter):
39105         * src/xfaces.c (Fx_list_fonts):
39106         Remove IF_LINT that no longer seems necessary.
39107         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
39108         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
39109         a pragma dance to pacify GCC -Wclobbered.
39110         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
39112         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
39113         mean we do not need IF_LINT any more.
39114         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
39115         at the end, to forestall warnings from older compilers.
39117 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
39119         Port --enable-gcc-warnings to Cygwin, FreeBSD
39121         These platforms have a bug where _Noreturn is empty when 'lint' is
39122         defined.  Problem reported by Ken Brown (Bug#23640).
39123         * configure.ac (GCC_LINT): Rename from 'lint'.
39124         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
39126 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
39128         Update from gnulib
39130         This incorporates:
39131         2016-05-30 Use GCC_LINT, not lint
39132         2016-05-29 secure_getenv: Port to many more platforms.
39133         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
39134         * m4/secure_getenv.m4: Copy from gnulib.
39136 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
39138         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
39140         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
39142 2016-05-30  Ken Brown  <kbrown@cornell.edu>
39144         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
39146 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
39148         Fix Bug#23631 for Tramp
39150         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
39151         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
39152         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
39153         Fix caching problems.
39155         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
39157         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
39158         Move duplicate deletion ...
39159         (tramp-smb-handle-file-name-all-completions): ... here.
39161         * lisp/net/tramp.el (tramp-handle-file-name-completion):
39162         Handle `completion-ignored-extensions'.  (Bug#23631)
39164         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
39165         Test also `completion-regexp-list' and `completion-ignored-extensions'.
39167 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
39169         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
39171         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
39173 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
39175         Fix up remainder of the mml property change
39177         * lisp/gnus/message.el (message-send-mail): Use the renamed
39178         mml-buffer-substring-no-properties-except-some function.
39179         (message-send-news): Ditto.
39181 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
39183         Allow preserving EXIF rotations when sending HTML messages
39185         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
39186         rotation if you have exiftool installed and the image format
39187         supports it.
39188         (mml-expand-html-into-multipart-related): Use it.
39189         (mml-buffer-substring-no-properties-except-some): Renamed and
39190         copy display properties, too.
39192 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
39194         Make message-toggle-image-thumbnails work better
39196         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
39197         `insert-image' instead of `put-image' to make it possible to
39198         edit the resulting text in a sensible manner.
39200 2016-05-29  Alan Mackenzie  <acm@muc.de>
39202         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
39204         Remove the now redundant c-old-BOM and c-old-EOM.
39206         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
39207         meaning.
39208         (c-macro-cache-no-comment): New variable.
39209         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
39210         the new c-macro-cache-no-comment.
39211         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
39212         (c-no-comment-end-of-macro): New function.
39214         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
39215         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
39217         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
39218         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
39219         c-old-BOM/EOM.
39220         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
39221         a cons for the new region, since the function is now called as an after-change
39222         function.  No longer adjust c-new-END for the length of inserted/deleted
39223         text.  Move the size restrictions on macros to here from
39224         c-neutralize-syntax-in-and-mark-CPP.
39225         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
39226         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
39227         upper boundary to "neutralize" syntactically obtrusive characters.
39228         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
39229         one.
39231 2016-05-28  Ken Brown  <kbrown@cornell.edu>
39233         Avoid compiler warnings
39235         * src/cygw32.c (chdir_to_default_directory): Use "void" as
39236         argument list.  Use SSDATA instead of SDATA.
39238         * src/unexcw.c (fixup_executable): Use %td as format specifier for
39239         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
39241 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
39243         Fix 'next-line' and 'previous-line' during keyboard macro
39245         * lisp/simple.el (line-move-visual): Handle the case when point
39246         moves outside of the visible portion of the buffer while executing
39247         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
39249 2016-05-28  Alan Mackenzie  <acm@muc.de>
39251         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
39253         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
39254         back over noise clauses and attribute clauses.
39256         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
39258 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
39260         Prevent locked-file errors in Rmail
39262         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
39263         calling 'rmail-insert-inbox-text'.  Unlock if
39264         'rmail-insert-inbox-text' doesn't modify buffer.
39265         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
39267 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
39269         Sync with Tramp repository.
39271         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
39272         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
39273         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
39274         Create BUFFER if it doesn't exist.  Reported by Nikolay
39275         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
39277         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
39278         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
39279         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
39280         (tramp-gvfs-get-directory-attributes)
39281         (tramp-gvfs-get-root-attributes)
39282         (tramp-gvfs-get-file-attributes): New defun.
39283         (tramp-gvfs-handle-file-attributes)
39284         (tramp-gvfs-handle-file-name-all-completions): Use them.
39285         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
39286         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
39287         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
39288         (top): Suppress D-Bus error messages during zeroconf initialization.
39290         * lisp/net/tramp.el (tramp-unknown-id-string)
39291         (tramp-unknown-id-integer): New defconst.
39292         (tramp-check-cached-permissions)
39293         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
39294         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
39295         (tramp-convert-file-attributes, tramp-get-remote-uid)
39296         (tramp-get-remote-gid): Use them.
39298         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
39299         Rename from `tramp-color-escape-sequence-regexp'.
39300         (tramp-sh-handle-insert-directory)
39301         (tramp-convert-file-attributes): Adapt callees.
39302         (tramp-device-escape-sequence-regexp): New defconst.
39303         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
39304         Gissurarson <icetritlo@gmail.com>.
39306         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
39307         Simplify.
39309         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
39310         (tramp-test28-shell-command):
39311         Use `tramp-display-escape-sequence-regexp'.
39313 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39315         Don’t document declare-function internals
39317         Suggested by Stefan Monnier in:
39318         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
39319         * doc/lispref/functions.texi (Declaring Functions):
39320         * lisp/subr.el (declare-function):
39321         * lisp/emacs-lisp/bytecomp.el:
39322         (byte-compile-macroexpand-declare-function):
39323         Document as (fn file &optional arglist fileonly)
39324         even though it is really (fn file &rest args).
39326 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39328         * src/puresize.h (BASE_PURESIZE): Increase it some more.
39330 2016-05-27  Glenn Morris  <rgm@gnu.org>
39332         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
39334         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
39335         avoid build failure.
39337 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39339         Port to platforms where rlim_max < 0
39341         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
39342         this can happen if a special value like RLIM_INFINITY is negative.
39344 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39346         Robustify stack-size calculation
39348         * src/emacs.c: Include getpagesize.h.
39349         (main): Check for integer overflow when computing stack size.
39350         Round new rlim_cur to pagesize boundary on all platforms, as this
39351         is easy and would have prevented Bug#23622.  If setrlimit
39352         fails, use current limit to determine re_max_failures.
39354 2016-05-27  Ken Brown  <kbrown@cornell.edu>
39356         Adjust filenotify-tests on Cygwin
39358         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
39359         Remove special case for Cygwin.
39360         (file-notify-test07-backup): Update expected results on Cygwin.
39362 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39364         Improve define-function omitted-arg documentation
39366         * doc/lispref/functions.texi (Declaring Functions):
39367         * lisp/subr.el (declare-function):
39368         Be clearer when documenting omitted args for define-function.
39370 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
39372         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
39374 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
39376         * lisp/subr.el (definition-prefixes): Expand docstring
39378         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
39379         Remove unused function.
39381 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
39383         Fix broken viper deactivation
39385         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
39386           args to advice-remove.
39387           (viper--advice-add): Use cons not list.
39389         Addresses bug#23625
39391 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
39393         Preserve buffer point in windows by default (Bug#4041).
39395         * doc/lispref/windows.texi: Mention new default.
39396         * etc/NEWS: Mention new default.
39397         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
39399 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39401         Fix byte-compiler pacification for declare-function
39403         Problem reported by Michael Heerdegen in:
39404         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
39405         * lisp/emacs-lisp/bytecomp.el:
39406         (byte-compile-macroexpand-declare-function):
39407         Revert signature to previous value.
39408         * lisp/subr.el (declare-function): Change signature to
39409         match the reverted signature used in the byte compiler.
39411 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39413         Update texinfo.tex
39415         This fixes Bug#23611 in a different (and presumably better) way.
39416         * doc/misc/texinfo.tex: Update from gnulib.
39418 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39420         Pacify 'make check-declare'
39422 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39424         Repair damage from emacs-25 merge
39426         * test/lisp/character-fold-tests.el:
39427         Remove, as it was renamed to test/lisp/char-fold-tests.el.
39428         * test/lisp/emulation/viper-tests.el:
39429         Rename from test/automated/viper-tests.el.
39431 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39433         Merge from origin/emacs-25
39435         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
39436         a4d882c Correct old cell name unbinding when renaming cell.
39437         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
39438         0be6725 Document problem: slow screen refresh on missing font.
39439         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
39440         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
39441         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
39442         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
39443         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
39444         897fb6f ; 'Changes from the pre-25.1 API' copyedits
39445         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
39446         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
39447         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
39448         2e589c0 Fix cross-references between manuals
39449         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
39450         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
39451         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
39452         503e752 ; * CONTRIBUTE: Fix a typo.
39453         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
39454         bdfbe6d ; * admin/release-process: Copyedits.
39455         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
39456         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
39457         df4a14b Add automated test for viper-tests.el
39458         c0139e3 Fix viper undo breakage from undo-boundary changes
39459         920d76c Fix reference to obsolete fn ps-eval-switch
39460         18a9bc1 Do not trash symlinks to init file
39461         2671179 Don't print the "decomposition" line for control chars in wha...
39462         869092c Bring back xterm pasting with middle mouse
39463         5ab0830 Provide workaround for xftfont rendering problem
39464         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
39465         30989a0 Mention GTK+ problems in etc/PROBLEMS
39466         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
39467         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
39468         e41a5cb Avoid errors with Czech and Slovak input methods
39469         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
39470         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
39471         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
39472         c45d9f6 Improve documentation of 'server-name'
39473         3b5e38c Modernize ASLR advice in etc/PROBLEMS
39474         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
39476 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
39478         Avoid byte-compiler warnings due to 'declare-function'
39480         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
39481         (w32-get-valid-locale-ids):
39482         * lisp/progmodes/js.el (ido-mode): Specify arglist in
39483         'declare-function' forms, to avoid byte-compiler warnings.
39485 2016-05-26  Glenn Morris  <rgm@gnu.org>
39487         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
39489         No-one puts info pages there.  If /share does exist, it's likely to
39490         contain remote file systems where access could be slow.
39492 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39494         Merge from origin/emacs-25
39496         2d76405 etc/AUTHORS: Update the AUTHORS file
39498 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39500         Merge from origin/emacs-25
39502         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
39504 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39506         Merge from origin/emacs-25
39508         939eb75 Fix bug in default setting of 'ps-paper-type'
39510 2016-05-26  Glenn Morris  <rgm@gnu.org>
39512         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
39514 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
39516         Fix Bug#23614.
39518         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
39519         Let-bind `process-coding-system-alist' in order to suppress
39520         the value for "cmdproxy".
39522         * lisp/net/tramp.el (tramp-encoding-shell):
39523         `w32-shell-name' is a function.
39524         (tramp-encoding-command-switch)
39525         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
39527         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
39528         Suppress some tests on MS Windows.  (Bug#23614)
39530 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
39532         hl-line.el: Fix flickering of highlighted line (bug#23510)
39534         * lisp/hl-line.el (hl-line-maybe-unhighlight)
39535         (global-hl-line-highlight-all)
39536         (global-hl-line-maybe-unhighlight): New functions.
39537         (hl-line-overlay-buffer): New variable.
39538         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
39539         pre-command-hook by hl-line-maybe-unhighlight on
39540         post-command-hook, to prevent hl-line from flickering.
39541         Adjust document string.
39542         (global-hl-line-mode): Use global-hl-line-highlight-all to
39543         simultaneously highlight the current line in all live windows.
39544         Replace global-hl-line-unhighlight on pre-command-hook by
39545         global-hl-line-maybe-unhighlight on post-command-hook, to
39546         prevent global-hl-line from flickering.  Remove
39547         global-hl-line-unhighlight from change-major-mode-hook on
39548         disabling the mode.  Adjust document string.
39550 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
39552         Make autoloads populate a new definition-prefixes table
39554         * lisp/subr.el (definition-prefixes): New hash table.
39555         (register-definition-prefixes): New function.
39557         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
39558         (autoload--split-prefixes-1, autoload--split-prefixes)
39559         (autoload--make-defs-autoload): New functions.
39560         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
39561         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
39562         (update-directory-autoloads): Don't touch loaddefs.el if the set of
39563         autoloads hasn't changed (i.e. if only the timestamp would change).
39565         * lisp/loadup.el: Purify definition-prefixes.
39567         * lisp/w32-fns.el: Keep name space clean.
39568         (w32-set-default-process-coding-system): Rename from
39569         set-default-process-coding-system.
39570         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
39572 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39574         Allow network-stream-tests to work for out-of-tree builds
39576         * test/lisp/net/network-stream-tests.el
39577         (network-stream-tests--datadir): New defconst.
39578         (make-tls-server): Use it.
39580 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39582         Fix failing echo-server-nowait test
39584         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
39585         Specify IPv4 for the client, to match the family of the server.
39586         (Bug#23606)
39588 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39590         Allow shr-tests to work for out-of-tree builds
39592         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
39593         (shr-test, rendering): Use it.
39595 2016-05-24  Ken Brown  <kbrown@cornell.edu>
39597         Update allowable arguments for open-network-stream
39599         * src/coding.c (Ffind_operation_coding_system): Allow t as a
39600         target for open-network-stream.  (Bug #23540)
39602 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
39604         Make js-mode's syntax highlighting work again
39606         * lisp/progmodes/js.el (js-mode): Fix the assigned
39607         font-lock-defaults value (bug#23603).
39609 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39611         * lisp/progmodes/cc-mode.el: Add minor comments
39613         (c-change-expand-fl-region): Mark args as unused.
39615 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39617         * lisp/url/url-http.el: Use lexical-binding
39619         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
39620         (url-http-wait-for-headers-change-function): Remove unused var
39621         `content-length'.
39622         (url-http): Remove unused vars `host' and `port'.
39624 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39626         * lisp/widget.el (define-widget): Use `declare' (which does work now).
39628         (widget-plist-member): Mark as obsolete.
39630 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
39632         * lisp/image.el: Use lexical-binding
39634         (image-scaling-factor, imagemagick-types-inhibit)
39635         (imagemagick-enabled-types): Remove redundant :group.
39636         (image--get-image): Apply de-Morgan and use car-safe.
39637         (image-compute-scaling-factor): Use the argument.
39639 2016-05-23  Glenn Morris  <rgm@gnu.org>
39641         * lisp/image.el (image--get-image): Remove nonsensical code.
39643         * lisp/image.el (image--get-image): Avoid requiring a library for
39644         one trivial operation.
39646 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39648         Don’t use only last protocol from getaddrinfo
39650         Problem reported by Ken Brown in:
39651         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
39652         * src/process.c (conv_addrinfo_to_lisp): New function.
39653         (connect_network_socket): Arg is now a list of addrinfos, not
39654         merely IP addresses.  All uses changed.  Use protocol from
39655         each addrinfo.
39656         (Fmake_network_process): Accumulate protocols into addrinfos
39657         rather than just using the last one found.
39658         (check_for_dns): Accumulate protocols here, too.
39659         * src/process.h (struct Lisp_Process): Remove ai_protocol;
39660         no longer needed.
39662 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39664         Fix seq requirement that broke bootstrap
39666         * lisp/image.el (image--get-image): Require seq here, not at the
39667         top level, to avoid ‘(require seq) while preparing to dump’ while
39668         bootstrapping.  Suggested by Tino Calancha in:
39669         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
39671 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
39673         Add missing dependencies to seq.el
39675         * lisp/emacs-lisp/find-func.el:
39676         * lisp/ibuffer.el:
39677         * lisp/image.el: Require seq.
39679 2016-05-22  Alp Aker  <alp@food52.com>
39681         * src/process.c (SOCK_NONBLOCK): Fix typo.
39683 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
39685         Add completion of colors in CSS mode
39687         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
39688         from "CSS Color Module Level 3".
39690         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
39691         Update test.
39693 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
39695         Prefer SOCK_NONBLOCK to O_NONBLOCK
39697         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
39698         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
39699         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
39700         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
39701         the order does not matter here.
39703 2016-05-21  Alan Third  <alan@idiocy.org>
39705         Fix bug#16856, cursor leaves garbage in fringe on OS X.
39707         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
39708         being drawn outside the text area.
39710 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
39712         Fix compiler warnings in the MinGW build
39714         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
39715         -Wno-pointer-sign, to keep the noise level down.
39717         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
39718         -Wredundant-decls, as that produces a lot of noise due to
39719         redeclaration of time-related functions by gnulib.
39720         * nt/runemacs.c (set_user_model_id): Fix argument type of
39721         'SetCurrentProcessExplicitAppUserModelID'.
39723         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
39724         declare 'dpyinfo', as it is unused.
39725         (xpm_load): Fix warnings about pointer signedness.
39726         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
39727         prototypes.
39728         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
39729         (sys_select): Provide prototype.
39730         (g_b_init_compare_string_w): Move declaration to file scope.
39731         * src/w32heap.c (dumped_data_commit): Now static.
39732         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
39733         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
39734         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
39735         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
39736         Provide prototypes.
39737         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
39738         redundant prototypes.
39739         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
39740         (init_environment, sys_ctime): Avoid warnings about discarding
39741         'const' qualifier.
39742         Include utimens.h.
39743         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
39744         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
39745         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
39746         prototypes.
39747         (sys_rename_replace): Use %d to avoid compiler warnings.
39748         (_wsa_errlist): Make the message text 'const char *', to avoid
39749         compilation warnings.
39750         (dynlib_reset_last_error): Move prototype to file scope.
39751         (w32_get_resource): First argument is now 'const char *'.
39752         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
39753         (otf_features): Second argument is no 'const char *'.
39754         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
39755         (x_set_window_size): Remove redundant prototypes.
39756         (XChangeGC, XGetGCValues, w32_draw_underwave)
39757         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
39758         (x_calc_absolute_position, x_destroy_window): Now static.
39759         (menubar_selection_callback): Move prototype to file scope.
39760         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
39761         declaration.
39762         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
39763         (w32font_full_name): Fix warnings about implicit conversion of
39764         'float' to 'double'.
39765         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
39766         discarding 'const' qualifier.
39767         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
39768         (set_frame_menubar): Remove redundant prototypes.
39769         (menubar_selection_callback, w32_menu_display_help): Provide
39770         prototypes.
39771         (simple_dialog_show): Avoid warnings about discarding 'const'
39772         qualifier.
39773         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
39774         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
39775         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
39776         redundant prototypes.
39777         (current_popup_menu): Remove redundant declaration.
39778         (colormap_t): Member 'name' is now 'const char *'.
39779         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
39780         (x_decode_color, x_set_border_pixel)
39781         (x_clear_under_internal_border, x_set_name, hook_w32_key)
39782         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
39783         static.
39784         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
39785         (w32_msg_worker, w32_last_error): Provide prototypes.
39786         (funhook, lookup_vk_code): Avoid warnings about missing
39787         parentheses.
39788         (x_default_font_parameter, Fw32_notification_notify): Avoid
39789         warnings about discarding 'const' qualifier.
39790         (Fx_create_frame): Avoid warnings about empty body of 'else'.
39791         (x_screen_planes): Ifdef away unused function.
39792         (Fx_show_tip): Remove unused variables.
39793         (Fw32_battery_status): Avoid warnings about implicit promotion
39794         from float to double.
39795         (Fw32_notification_notify): Initialize 'timeout'.
39796         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
39797         define the TIMER_SETTIME_RUNNING value if it will be used.
39798         * src/w32notify.c (send_notifications): Ifdef away an empty if
39799         clause.  Remove unused variable.
39800         (watch_end, watch_completion): Provide prototypes.
39801         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
39802         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
39803         warning with pointer signedness.
39804         * src/gnutls.c (gnutls_x509_crt_get_signature)
39805         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
39806         don't load them from the GnuTLS library, as they are no longer
39807         used.
39808         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
39809         define, as it's unused.
39810         * src/unexw32.c (open_input_file, open_output_file)
39811         (close_file_data): Remove redundant prototypes.
39812         (_start): provide prototype.
39813         (mainCRTStartup): Move prototype to file level.
39814         (find_section): Use type-cast to shut up compiler warnings.
39815         (offset_to_section, relocate_offset): Now static.
39816         (find_section): First argument is now a 'const char *'.
39817         (offset_to_section): Ifdef away, as it's unused.
39818         * src/w32heap.h (find_section): Adjust prototype.
39819         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
39820         * src/dired.c (directory_files_internal_w32_unwind): Avoid
39821         warnings about missing prototypes.
39822         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
39823         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
39824         signedness.
39825         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
39826         Fix warnings about pointer signedness.
39827         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
39828         unused.
39829         * src/sysdep.c (_getpid): Remove redundant prototype.
39830         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
39831         [!MSDOS]: Don't define 'st', it's unused.
39832         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
39833         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
39834         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
39835         n_to_read, as it is not used.
39836         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
39837         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
39838         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
39839         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
39840         not used by DOS_NT builds, to avoid compiler warnings.
39841         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
39842         declaration.
39843         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
39844         up compiler warnings.
39845         * src/w32term.h (x_set_window_size, x_get_focus_frame)
39846         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
39847         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
39848         (x_free_frame_resources, x_real_positions)
39849         (display_x_get_resource): Remove redundant prototypes.
39851         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
39852         (sys_rename, gettimeofday): Provide prototypes.
39853         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
39854         declarations.
39855         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
39856         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
39857         (close_winsock, initialize_sockets, w32_set_user_model_id)
39858         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
39859         prototypes.
39860         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
39861         difference.
39862         (w32_set_user_model_id): Update prototype of
39863         SetCurrentProcessExplicitAppUserModelID to avoid compiler
39864         warnings.
39865         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
39866         shut up compiler warnings.
39867         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
39869 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
39871         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
39873         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
39874         wrap on a whitespace character if it's followed by another
39875         whitespace character.  When returning under WORD_WRAP for a screen
39876         line that is continued, restore to wrap point when atpos/atx
39877         position would be displayed on the next screen line due to
39878         line-wrap.  (Bug#23570)
39880 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
39882         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
39884 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
39886         Added tests for dos unibyte decoding.
39888         The underlying bug was previously fixed by Eli Zaretskii in commit
39889         c8109d9c4057d8cac79e2c139758cadd410e7446.
39891 2016-05-20  Philipp Stephani  <phst@google.com>
39893         Fix handling of ‘mouse-on-link-p’.
39895         If ‘mouse-on-link-p’ returns a string or vector, the first element
39896         is to be used as new event.  Translation to ‘mouse-2’ should only
39897         happen if the return value is not a string or vector.  See
39898         docstring of ‘mouse-on-link-p’ and Bug#23288.
39900         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
39901         value of ‘mouse-on-link-p’ according to documentation.
39903         * test/lisp/mouse-tests.el (bug23288-use-return-value)
39904         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
39906 2016-05-20  Daiki Ueno  <ueno@gnu.org>
39908         epg: Add a way to detect gpg1 executable for tests
39910         Fixes bug#23561.
39912         * test/automated/epg-tests.el
39913         (epg-tests-program-alist-for-passphrase-callback): New
39914         constant.
39915         (epg-tests-find-usable-gpg-configuration): New function,
39916         renamed from `epg-tests-gpg-usable'.  All callers changed.
39917         (epg-tests-gpg-usable): Remove.
39919         * lisp/epg-config.el (epg-config--program-alist): Factor out
39920         constructor element to...
39921         (epg-config--configuration-constructor-alist): ...here.
39922         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
39923         and add PROGRAM-ALIST argument.
39925 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
39927         Put point at beginning of display-time-world buffer.
39929         If display-time-world decides to popup vertically from the bottom of the
39930         frame and scroll-margin is nonzero, the top of the buffer contents are
39931         hidden due to scroll.
39932         * lisp/time.el (display-time-world-display): Move point to point-min
39933         after inserting contents.
39935 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39937         Allow null entries in face and image cache
39939         Problem reported by Tino Calancha (Bug#23580).
39940         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
39941         Don’t assume that the result is non-null.
39942         * src/xdisp.c (fill_image_glyph_string):
39943         Restore check that image pointer is non-null.
39945 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39947         Fix flyspell highlighting
39949         Problem reported by Jim Meyering (Bug#23575).
39950         * src/xdisp.c (extend_face_to_end_of_line):
39951         Fix typo in previous change.
39953 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
39955         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
39957 2016-05-18  Sam Steingold  <sds@gnu.org>
39959         python-describe-at-point: add and bind
39961 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39963         ‘make check-declare’ now chatters less
39965         * etc/NEWS: Document this.
39966         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
39967         Return relative names, not absolute.
39968         (check-declare-scan, check-declare-verify, check-declare-warn)
39969         (check-declare-file, check-declare-directory):
39970         Generate less chatter.  Use relative file names rather than
39971         absolute.  Don’t give up on computing a good file name for a
39972         diagnostic merely because the function name was bad.  Make
39973         malformed declarations more noticeable.  Don’t warn about
39974         "ext:..." declarations if check-declare-ext-errors is nil.
39975         (check-declare-errmsg): Remove.
39976         (check-declare-warn): New optional arg LINE.
39977         (check-declare-files): Put status into mode line rather than
39978         chattering.
39980 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39982         Pacify byte-compiler for byte-compile-macroexpand-declare-function
39984         * lisp/emacs-lisp/bytecomp.el: Change signature of
39985         byte-compile-macroexpand-declare-function to match that of
39986         declare-function.
39988 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39990         Pacify byte-compiler for with-wrapper-hook
39992         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
39993         New macro, split out from with-wrapper-hook.
39994         * lisp/abbrev.el (abbrev--default-expand):
39995         * lisp/minibuffer.el (completion--in-region):
39996         * lisp/simple.el (buffer-substring--filter):
39997         * lisp/subr.el (with-wrapper-hook):
39998         Use it.
40000 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
40002         Pacify byte-compiler in lisp/url
40004         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
40005         Add decl.
40007 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
40009         Port --enable-gcc-warnings to GCC 6.1
40011         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
40012         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
40013         Omit test whether pointer plus a constant equals a null pointer.
40014         * src/alloc.c (compact_small_strings):
40015         Avoid pointer arithmetic on null pointers.
40016         * src/alloc.c (mark_face_cache):
40017         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
40018         * src/fringe.c (draw_fringe_bitmap_1)
40019         (Fset_fringe_bitmap_face):
40020         * src/macfont.m (macfont_draw):
40021         * src/msdos.c (IT_set_face, IT_clear_screen):
40022         * src/nsfont.m (nsfont_draw):
40023         * src/nsterm.h (FRAME_DEFAULT_FACE):
40024         * src/nsterm.m (ns_draw_window_cursor)
40025         (ns_draw_vertical_window_border, ns_draw_window_divider)
40026         (ns_dumpglyphs_box_or_relief)
40027         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
40028         (ns_dumpglyphs_stretch):
40029         * src/w32term.c (w32_draw_vertical_window_border)
40030         (w32_draw_window_divider, x_set_mouse_face_gc):
40031         * src/xdisp.c (estimate_mode_line_height, init_iterator)
40032         (handle_face_prop, handle_single_display_spec, pop_it)
40033         (CHAR_COMPOSED_P, get_next_display_element)
40034         (next_element_from_display_vector, extend_face_to_end_of_line)
40035         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
40036         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
40037         (lookup_named_face):
40038         * src/xterm.c (x_draw_vertical_window_border)
40039         (x_draw_window_divider, x_set_mouse_face_gc):
40040         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
40041         * src/xterm.c (try_window_id):
40042         Redo loop to convince GCC 6.1 that it is null pointer safe.
40043         (x_color_cells):
40044         Use eassume as necessary to pacify GCC 6.1.
40045         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
40046         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
40047         behavior of the non-_OPT macro, to be used when the result
40048         might be a null pointer.
40049         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
40050         [HAVE_WINDOW_SYSTEM]:
40051         * src/intervals.h (INTERVAL_WRITABLE_P):
40052         * src/term.c (turn_off_face):
40053         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
40054         (produce_image_glyph, produce_xwidget_glyph):
40055         * src/xfaces.c (lookup_named_face):
40056         Remove unnecessary test for null pointer.
40057         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
40058         * src/process.c (would_block): New function.
40059         (server_accept_connection, wait_reading_process_output, send_process):
40060         Use it.
40061         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
40062         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
40063         might be null.
40065 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
40067         Sync from gnulib
40069         This incorporates:
40070         2016-05-17 manywarnings: update for GCC 6.1
40071         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
40072         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
40074 2016-05-16  Glenn Morris  <rgm@gnu.org>
40076         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
40077         Include more details on hydra.
40079 2016-05-16  Alan Mackenzie  <acm@muc.de>
40081         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
40083 2016-05-16  Alan Mackenzie  <acm@muc.de>
40085         Fix spurious fontification of "for (; a * b;)" in CC Mode.
40087         This fixes bug #7918 (again).
40089         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
40090         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
40091         cons cell - additionally, return a flag indicating whether the declaration
40092         parsed might have been an expression, and the position of the type identifier
40093         in the said declaration.
40095         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
40096         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
40097         check for it being a spurious declaration in a "for" statement.
40099 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40101         Pacify ‘make check-declare’
40103         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
40104         (data-debug-insert-stuff-list, data-debug-insert-thing):
40105         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
40106         (viper-change-state-to-emacs):
40107         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
40108         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
40109         * lisp/org/ob-awk.el (orgtbl-to-generic):
40110         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
40111         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
40112         * lisp/org/ob-exp.el (org-element-context):
40113         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
40114         (orgtbl-to-generic):
40115         * lisp/org/ob-haskell.el (org-export-to-file):
40116         * lisp/org/ob-latex.el (org-create-formula-image)
40117         (org-latex-compile):
40118         * lisp/org/ob-python.el (run-python):
40119         * lisp/org/ob-sh.el (orgtbl-to-generic):
40120         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
40121         * lisp/org/org-colview.el (org-agenda-redo):
40122         * lisp/org/org-feed.el (url-retrieve-synchronously):
40123         * lisp/org/org-info.el (Info-find-node):
40124         * lisp/org/org-list.el (org-previous-line-empty-p):
40125         * lisp/org/org-macs.el (org-string-match-p):
40126         * lisp/org/org.el (org-beamer-mode):
40127         Fix prototype to match current definition.
40128         * lisp/emacs-lisp/advice.el (function-called-at-point):
40129         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
40130         Fix typo: extra '.
40131         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
40132         Insert ,' to pacify check-declare.
40133         * lisp/org/ob-comint.el (tramp-flush-directory-property):
40134         * lisp/org/ob-tangle.el (org-babel-update-block-body):
40135         * lisp/org/org-bibtex.el (org-babel-trim):
40136         * lisp/org/org-pcomplete.el (org-export-backend-options):
40137         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
40138         Fix file name in declare-function.
40139         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
40140         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
40141         * lisp/org/org.el (org-beamer-mode):
40142         * lisp/url/url-http.el (gnutls-negotiate):
40143         Append ‘t’ to declare-function, since the declaration isn’t a defun.
40144         * lisp/org/ob-core.el (show-all):
40145         Declare outline-show-all instead, since it is the
40146         non-obsolete version of this function.
40147         (org-save-outline-visibility): Remove; not needed.
40148         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
40149         (geiser-eval-region, geiser-repl-exit):
40150         * lisp/org/ox-org.el (htmlize-buffer):
40151         Prepend "ext:" to file name, since it is not part of Emacs.
40152         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
40153         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
40154         Remove decl, since function was removed.
40155         * lisp/org/ob-sh.el (org-babel-comint-with-output):
40156         * lisp/org/org-macro.el (org-with-wide-buffer):
40157         Omit unnecessary (and mismatching) decl.
40158         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
40159         * lisp/org/org-clock.el (calendar-iso-to-absolute):
40160         Declare calendar-iso-to-absolute instead, since it is the
40161         non-obsolete version of this function.
40162         * lisp/org/org-compat.el (w32-focus-frame):
40163         Remove decl, since function is now obsolete.
40165 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
40167         :max-width/height fixes for shr after the scaling changes
40169         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
40170         max-width and max-height even after the scaling changes done
40171         earlier this year.
40173 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
40175         Fix reading minibuffer input in viper-mode
40177         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
40178         Restore an assignment to viper-initial that got lost when
40179         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
40181 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40183         Port autogen.sh to Git 2.4
40185         Problem reported by Michael Brand in:
40186         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
40187         * autogen.sh (git_config): Don't assume that git rev-parse
40188         groks --git-common-dir.
40190 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40192         Merge from origin/emacs-25
40194         6de0715 Properly reject malformed or empty package sigs
40195         edae7d9 Remove buggy non-native image scrolling
40197 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40199         Improve display of tex-verbatim and Info quoted
40201         Problem reported by Glenn Morris (Bug#19889).
40202         * doc/emacs/display.texi (Standard Faces):
40203         * doc/lispref/display.texi (Basic Faces):
40204         * etc/NEWS: Mention fixed-pitch-serif.
40205         * lisp/faces.el (face-font-family-alternatives):
40206         New family alias Monospace Serif.
40207         (fixed-pitch-serif): New face, which uses the new family.
40208         * lisp/info.el (Info-quoted):
40209         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
40210         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
40211         Add test case for Monospace Serif.
40213 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
40215         * lisp/net/sieve-mode.el: Handle the text:... notation
40217         Get rid of redundant :group keywords.
40218         (sieve-mode-syntax-table): Move initialization into declaration.
40219         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
40220         (sieve-mode): Use them.
40222 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40224         Tweak check-declare-directory performance
40226         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
40227         Use ‘find ... -exec ... +’ for speed.
40229 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40231         Sync from gnulib
40233         This incorporates a spelling fix, plus:
40234         2016-05-09 Fix undefined behaviour in gettext.h
40235         * lib/gettext.h, lib/mktime.c:
40236         Copy from gnulib.
40238 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40240         Merge from origin/emacs-25
40242         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
40243         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
40244         1a5a05c Do not mistake colon at the end of regexp for slash symbol
40245         4c5a00b Make package-install-from-buffer not move point
40246         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
40247         f79c352 Redo the fix for bug#21839
40248         8d2f78c Don't treat JS spread as contination method call
40250 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
40252         Correct server/client address
40254         * src/process.c (Fmake_network_process): :local is for servers and :remote
40255         is for clients.
40257 2016-05-12  Ken Brown  <kbrown@cornell.edu>
40259         Autosave buffers on logout if HAVE_NTGUI
40261         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
40262         w32_read_socket.
40264         * src/w32term.c (w32_read_socket): Create an event of type
40265         END_SESSION_EVENT if a WM_ENDSESSION message is received.
40267         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
40269         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
40270         `end-session'.
40271         (kbd_buffer_get_event): Return an end-session event if an event of
40272         type END_SESSION_EVENT is read.
40273         (keys_of_keyboard): Bind the end-session event to kill-emacs in
40274         special-event-map.  (Bug#23483)
40276 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
40278         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
40280         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
40281         (object-print): Use cl-call-next-method instead of call-next-method.
40282         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
40284 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
40286         * lisp/cedet/semantic: Silence some warnings
40288         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
40289         (semanticdb-get-database-tables): Use make-instance to silence warnings.
40291         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
40292         some macros from there.  Silence compilation warnings:
40293         Replace initargs with slot names in oref/oset.
40294         Move `SYMREF TOOLS' section earlier so definitions precede their use.
40296 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
40298         Support srcset in <img>
40300         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
40301         with srcset specifiers (bug#23459).
40303 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
40305         Do not autoload some functions of tramp.el
40307         * lisp/net/tramp.el (tramp-completion-file-name-handler):
40308         Autoload a shortened version of this function, avoid recursive load.
40309         (tramp-completion-file-name-handler-alist)
40310         (tramp-completion-mode-p)
40311         (tramp-completion-handle-expand-file-name)
40312         (tramp-completion-handle-file-name-all-completions)
40313         (tramp-completion-handle-file-name-completion): Do not autoload.
40315 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
40317         Avoid recursive load of tramp.el
40319         * lisp/net/tramp.el (tramp-completion-file-name-handler):
40320         Autoload a shortened version of this function, avoid recursive load.
40322 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
40324         Fix a problem of tramp-tests on hydra.
40326         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40327         Nullify `tramp-default-method' due to hydra.
40329 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
40331         Pacify byte-compiler in lisp/vc
40333         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
40334         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
40335         Declare functions defined elsewhere, to forestall “might not
40336         be defined at runtime” warnings.
40338 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
40340         Merge from origin/emacs-25
40342         d0d9f55 Allow newlines inside cl function arglists
40343         963541a Publicize cl--generic-all-functions
40344         3c581d5 ; Fix typo
40345         e58f900 Add some "safe-local-variable" declarations for compatibility...
40347 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
40349         'text-quoting-style' now affects only ` and '
40351         Change 'text-quoting-style' so that it no longer affects
40352         formatting of curved quotes in format arguments to functions like
40353         'message'.  In particular, when this variable's value is 'grave',
40354         all quotes in formats are output as-is.
40355         * doc/lispref/help.texi (Keys in Documentation):
40356         * doc/lispref/strings.texi (Formatting Strings):
40357         * doc/lispref/tips.texi (Documentation Tips):
40358         * etc/NEWS:
40359         * src/doc.c (syms_of_doc): Document this.
40360         * lisp/help-fns.el (describe-function-1):
40361         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
40362         (syms_of_doc):
40363         * src/editfns.c (styled_format): Omit now-unnecessary code.
40364         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
40366 2016-05-10  Alan Mackenzie  <acm@muc.de>
40368         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
40370         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
40371         being reverted because it slowed down CC Mode's fontification too much
40372         (factor ~3).  It was the fix to bug #7918.
40374 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
40376         Move "Recent messages" earlier in report-emacs-bug
40378         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
40379         messages" part earlier so that users can see it and remove it
40380         if they want.
40382 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
40384         Pacify byte compiler in tramp.el
40386         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
40388 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
40390         Merge from origin/emacs-25
40392         3b47898 Fix doc string in `insert'
40393         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
40394         cd27f73 Say 'All results processed' at the end
40395         4ffec91 Document automatic adjustment of process' logical window dime...
40396         dc66271 ; Fix typos and stylistic glitches in NEWS
40398 2016-05-09  Alan Mackenzie  <acm@muc.de>
40400         CC Mode now uses the new :after-hook feature of define-derived-mode
40402         It now runs internal variable setting functions after the mode hooks, no
40403         longer runs the mode hooks twice, and declares the configuration variables for
40404         noise macros and macros with semicolons as safe variables (when given suitable
40405         arguments).
40407         Fixes bug #16759 and bug #23476.
40409         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
40410         back into the C Mode value.
40412         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
40413         c-make-macro-with-semi-re.
40414         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
40415         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
40416         and c-update-modeline into the :after-hook form.  Remove the explicit settings
40417         of the syntax table, the abbreviation table and the local key map, since they
40418         duplicate forms generated by define-derived-mode.  Remove the explicit
40419         invocation of each mode's mode hook, since they duplicate ones generated by
40420         define-derived-mode.
40422         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
40423         functions.
40424         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
40425         save-local-variable property c-string-list-p.
40426         (c-macro-names-with-semicolon): give the save-local-variable property
40427         c-string-or-string-list-p.
40429         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
40430         necessary to call the regexp generating functions after setting the pertinent
40431         configuration values in a mode hook.
40433 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
40435         Fix the jit-lock-fontify-now test names
40437         * test/lisp/jit-lock-tests.el
40438         (jit-lock-fontify-now-mends-the-gaps)
40439         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
40440         Fix the test names.
40442 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
40444         Extend completion candidates in tramp.el
40446         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
40447         (tramp-get-completion-function): Use it.
40449 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
40451         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
40453         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
40454         compatibility.
40456 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
40458         Emulate interactive mode
40460         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
40461         (jit-lock-does-not-refontify-unnecessarily):
40462         Bind noninteractive to nil (bug#23278).
40464 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
40466         Simplify now that float-time etc. are built-in
40468         This was prompted by warnings about calls to now-obsolete functions.
40469         * lisp/calendar/time-date.el (encode-time-value):
40470         Use setq rather than a recursive call, to avoid a warning
40471         about calling this obsolete function.
40472         * lisp/calendar/time-date.el (encode-time-value)
40473         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
40474         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
40475         * lisp/net/rcirc.el (rcirc-float-time):
40476         * lisp/org/org-compat.el (org-float-time):
40477         Simplify now that time-add and float-time are now built-in.
40478         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
40479         * lisp/net/newst-backend.el (time-add):
40480         * lisp/org/org.el (time-subtract):
40481         Remove backward-compatibility definitions; they are now built-in.
40482         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
40483         (timeclock-seconds-to-time):
40484         * lisp/net/rcirc.el (rcirc-float-time):
40485         * lisp/org/org-compat.el (org-float-time):
40486         Now obsolete, since callers can just use float-time and
40487         seconds-to-time.  All uses changed.
40488         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
40489         * lisp/gnus/gnus-art.el (article-lapsed-string):
40490         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
40491         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
40492         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
40493         * lisp/net/tramp.el (tramp-time-diff):
40494         * lisp/org/org-clock.el (org-clock-timestamps-change):
40495         Prefer the time-subtract builtin to the subtract-time alias.
40496         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
40497         * test/lisp/character-fold-tests.el (character-fold--speed-test):
40498         Prefer the float-time builtin to the time-to-seconds alias.
40499         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
40500         * lisp/org/org-timer.el, lisp/org/org.el:
40501         Adjust to org-float-time deprecation.
40503 2016-05-08  Alan Mackenzie  <acm@muc.de>
40505         Add :after-hook facility to define-derived-mode.
40507         This allow a form to be evaluated _after_ a major mode's hooks have been run.
40508         It is needed to solve some problems in CC Mode, including bug #16759 and
40509         bug #23476.
40511         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
40512         `:after-hook', and generate the requisite code for it.
40513         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
40515         * lisp/subr.el (delayed-after-hook-forms): New variable.
40516         (run-mode-hooks): As the last thing evaluate the forms in
40517         delayed-after-hook-forms.
40519         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
40520         (Mode Hooks): Document the new feature in run-mode-hooks.
40522         * etc/NEWS: Note the new feature.
40524 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
40526         Fix recursive load of tramp.elc
40528         * lisp/net/tramp.el (tramp-completion-file-name-handler):
40529         Check also for `tramp-completion-mode-p'.
40530         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
40532 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40534         Prefer grep -E/-F to egrep/fgrep
40536         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
40537         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
40538         are probably more portable.
40539         * lib-src/etags.c (main):
40540         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
40541         (eshell/fgrep):
40542         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
40543         * lisp/eshell/esh-var.el (eshell-apply-indices):
40544         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
40545         (ada-find-in-src-path):
40546         * lisp/textmodes/ispell.el (ispell-grep-command):
40547         (ispell-lookup-words):
40548         Use or document grep -E and grep -F instead of egrep and fgrep.
40549         * lisp/textmodes/ispell.el (ispell-grep-options):
40550         Use -Ei on all platforms, not just MS-Windows.
40552 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
40554         Avoid unnecessary work if a chunk is empty
40556         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
40557         if a chunk is empty (bug#23278).
40559 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
40561         * test/lisp/jit-lock-tests.el: New file.
40563 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
40565         Continue to fix Bug#10085
40567         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
40568         <expand-file-name>: Add handler.
40569         (tramp-completion-handle-expand-file-name): New defun.
40570         (tramp-handle-file-name-as-directory): Handle completion mode case.
40572         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40573         Fix test.
40574         (tramp-test24-file-name-completion): Extend test.
40576 2016-05-07  Alan Mackenzie  <acm@muc.de>
40578         Revert change 8e4595a... due to annoyance it causes the development team.
40580         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
40581         +0000 was an enhancement to .dir-locals to allow correct fontification
40582         of certain macro constructs.
40584         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
40586 2016-05-07  Alan Mackenzie  <acm@muc.de>
40588         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
40590 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
40592         Add tests for CSS mode completion
40594         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
40595         (css-test-property-values-no-duplicates)
40596         (css-test-value-class-lookup): Use `seq-sort'.
40597         (css-mode-tests--completions): New helper function for retrieving CSS
40598         completions.
40599         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
40600         (css-test-complete-property-value, css-test-complete-pseudo-class)
40601         (css-test-complete-pseudo-element, css-test-complete-at-rule)
40602         (scss-test-complete-at-rule, css-test-complete-property)
40603         (css-test-complete-selector, css-test-complete-nested-selector)
40604         (scss-test-complete-nested-selector): New tests.
40606 2016-05-06  Alan Mackenzie  <acm@muc.de>
40608         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
40610         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
40611         variables which was missing.
40613         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
40614         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
40616         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
40617         (Edebug Options): Document the new option.  Also add documentation for
40618         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
40619         edebug-print-circle, edebug-sit-for-seconds.
40621         * etc/NEWS: Note the new feature.
40623 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
40625         scheme.el: Turn literal tabs into \t
40627         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
40628         also caught some literal tabs in character classes. Fix this by
40629         adding \t to those classes.
40631 2016-05-07  Tino Calancha  <f92capac@gmail.com>
40633         Make 'backtab' work in table-mode on text terminals
40635         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
40636         explicitly.  (Bug#23456)
40638 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
40640         Try to speed-up display of many all-blank lines
40642         * src/bidi.c (bidi_initialize): Use anchored regexps for
40643         paragraph start and paragraph separator sequences.  (Bug#23457)
40645 2016-05-06  Alan Mackenzie  <acm@muc.de>
40647         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
40649         Prevent hack-local-variables being called from the fundamental-mode mode call
40650         early in normal-mode.  This fixes bug #23460 and bug #23463.
40652         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
40653         the things it calls, with the exception of hack-local-variables.
40655         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
40656         major mode initialization.
40658 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40660         Port xref-tests to master branch
40662         Also, add a test to make this problem less likely in the future.
40663         * test/Makefile.in (check-no-automated-subdir): New rule.
40664         (check, check-expensive, check-maybe): Depend on it.
40665         * test/automated/data/xref/file1.txt: Rename to ...
40666         * test/data/xref/file1.txt: ... here.
40667         * test/automated/data/xref/file2.txt: Rename to ...
40668         * test/data/xref/file2.txt: ... here.
40669         * test/automated/xref-tests.el: Rename to ...
40670         * test/lisp/progmodes/xref-tests.el: ... here.
40671         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
40673 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
40675         Merge from origin/emacs-25
40677         50650cb Doc fixes for fclist and grep
40678         5e814e0 Minor doc fixes for quoting
40679         3347a73 `nreverse' the marker pairs list
40680         1a4127d Use save-excursion in xref-location-marker more
40681         ab3ba91 shell-quote-argument DIR when appropriate
40682         922c7a3 Rework xref-query-replace-in-results
40683         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
40684         0932b94 Fix todo-mode bug involving archived items (bug#23447)
40685         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
40686         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
40687         4d8fd9c Handle "empty line" regexp in xref searches
40688         f559b37 Add tests for xref-collect-matches
40689         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
40690         6f82d8e Clear buffer-undo-list when showing xrefs
40691         c68a091 Note the quote translation in `message' in section "incompati...
40692         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
40693         93703c5 (Common Keywords): Correct what missing :group means
40694         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
40695         2ea2a2f Doc fixes for quoting
40696         8544b98 posnp doc clarification
40697         805204f Mention what a missing :group does
40698         ec554d7 Fix documentation of dired-aux search/replace commands
40700 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
40702         Support completion of HTML tags in CSS selectors
40704         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
40705         list of HTML tags for completion.
40706         (css--nested-selectors-allowed): New variable for determining whether
40707         nested selectors are allowed in the current mode.
40708         (css--complete-selector): New function for completing part of a CSS
40709         selector.
40710         (css-completion-at-point): Support completion of selectors.
40711         (scss-mode): Allow nested selectors.
40713 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
40715         Make `R' in eww work more reliably
40717         * lisp/net/eww.el (eww-score-readability): Protect against
40718         null children.
40720 2016-05-05  Alan Mackenzie  <acm@muc.de>
40722         Call hack-local-variables from major modes rather than from file visiting
40724         This prevents file/directory local variables from being lost when the major
40725         mode is set or changed.
40727         This fixes bug #15577 and bug #23407.
40729         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
40730         function hasn't already done so.
40731         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
40732         its previous non-nil setting be t, and introduce the following action for a
40733         non-nil non-t value: apply all settings apart from `mode'.
40735         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
40736         which are visiting files.
40738         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
40739         sets file variables.
40740         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
40741         dir local variables, but `coding' can't.
40743         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
40744         also calls `hack-local-variables'.
40745         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
40746         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
40747         saying that the mode IS SET, not merely "selected" or "chosen".
40748         (Mode Hooks): Document change to `run-mode-hooks'.
40750         * doc/lispref/variables.texi (File Local Variables): Document change to
40751         `hack-local-variables'.
40753 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
40755         tramp-sh.el: Work around a stat bug
40757         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
40758         stat versions which produce shell quoted output.  See also
40759         coreutils Bug#23422.
40761 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
40763         Fix autogen.sh for separate worktrees
40765         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
40766         of assuming .git/hooks is a directory.
40768 2016-05-04  Alan Mackenzie  <acm@muc.de>
40770         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
40772         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
40773         when text-quoting-style is `leave'.
40775         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
40777         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
40778         `text_quoting_style'.
40779         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
40780         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
40781         LEAVE_QUOTING_STYLE.
40783         * src/editfns.c (styled_format): Set quoting_style to -1 when
40784         text-quoting-style is `leave'.
40786 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40788         * lisp/emulation/viper.el:
40789         * lisp/emulation/viper-cmd.el: Use lexical-binding.
40790         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
40791         args, for use in advice-add.
40792         (viper--init-message): Rename from init-message.
40793         (viper-minibuffer-standard-hook): Adjust accordingly.
40794         (viper-undo): Remove unused var `modified'.
40795         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
40796         Don't use dynamic vars as args.
40797         (viper-submit-report): Clarify use of dynamic vars.
40799         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
40800         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
40801         Use add-function rather than a `(lambda ...).
40802         (viper--advice-list): New var.
40803         (viper--advice-add, viper--deactivate-advice-list): New funs.
40804         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
40805         (viper-non-hook-settings): Don't hook into find-file any more.
40807 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40809         * lisp/vc/ediff-util.el: Use lexical-binding.
40811         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
40813 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40815         Add an animation sanity check
40817         * lisp/image.el (image-multi-frame-p): Give up on animations
40818         if it seems like they are too slow (bug#23431).
40820 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40822         abbrev-tests.el fix
40824         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
40825         internal implementation detail.
40827 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
40829         (shr-rescale-image): Clarify logic slightly
40831         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
40833 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
40835         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
40837         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
40838         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
40839         Monnier.  (Bug#19185, Bug#20398)
40841 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
40843         Add more abbrev tests
40845         * test/lisp/abbrev-tests.el
40846         (clear-abbrev-table-test): Use `abbrev-expansion'
40847         (abbrev-table-empty-p-test, list-abbrevs-test)
40848         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
40849         (edit-abbrevs-test, define-abbrevs-test)
40850         (read-write-abbrev-file-test)
40851         (abbrev-edit-save-to-file-test): New tests (bug#23139).
40853 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
40855         Allow eval-ing named character literals
40857         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
40858         named character literals.
40859         * test/lisp/progmodes/elisp-mode-tests.el
40860         (elisp--preceding-sexp--char-name): Add test for skipping over
40861         named character literals (bug#23354).
40863 2016-05-02  Aaron Conole  <aconole@redhat.com>
40865         Call va_end in boot_error
40867         * src/gnutls.c (boot_error): A recent change added a function
40868         to signal an error or return an error code. That function uses
40869         a variadic argument list to populate an error message
40870         string. However, it missed calling va_end after using the
40871         variadic argument list.
40873           Copyright-paperwork-exempt: yes
40875 2016-05-02  Aaron Conole  <aconole@bytheb.org>
40877         Fix the call to set_network_coding_system
40879         * src/process.c (Fmake_network_process): A recent commit
40880         modified the set_network_socket_coding_system function to take
40881         arguments host, service, and name. However, those arguments
40882         appear to be swapped.
40884           Copyright-paperwork-exempt: yes
40886 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
40888         Revert "alas, a map can have only one parent"
40890         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
40892         This had already been fixed by using `make-composed-map'.  And
40893         we don't want image-map to inherit from special-mode-map, anyway.
40895 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
40897         Merge from origin/emacs-25
40899         bf21c84 Fix quoting problem in cc-engine debug message
40900         8f36614 Add electric-quote-string unit test
40901         6280531 Don’t electrically quote ‘'’ in Python
40902         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
40904 2016-05-02  Sam Steingold  <sds@gnu.org>
40906         alas, a map can have only one parent
40908         * lisp/image-mode.el (image-model-map): Cannot have two parents.
40909         * lisp/image.el (image-map): Inherit from `special-mode-map'.
40911 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
40913         Fix Bug#10085
40915         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
40916         Add optional arguments OPERATION and COMPETION.  Handle
40917         `file-name-as-directory', `file-name-directory' and
40918         `file-name-nondirectory' also in completion mode.
40919         (tramp-file-name-handler): Use it.  (Bug#10085)
40921         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40922         Extend test.
40924 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
40926         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
40928 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40930         Tweak .gitignore
40932         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
40933         as these files are no longer created.  Add gmon.out, for
40934         -pg profiling.  Sort.
40936 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40938         Sync from gnulib
40940         This incorporates:
40941         2016-05-01 mktime: port to stricter signed overflow checking
40942         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
40943         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
40944         2016-05-01 mktime: simplify DEBUG_MKTIME
40945         2016-05-01 Port mktime_internal offset to unsigned time_t
40946         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
40947         2016-04-13 mktime: improve integer overflow checking
40948         2016-04-13 intprops: check two's complement assumption
40949         2016-04-13 intprops, mktime, strtol: assume two's complement
40950         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
40951         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
40952         Copy from gnulib.
40954 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40956         Merge from origin/emacs-25
40958         c695fb3 ; Spelling fixes
40959         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
40960         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
40962 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40964         Merge from origin/emacs-25
40966         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
40967         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
40968         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
40970         # Conflicts:
40971         #       doc/misc/url.texi
40972         #       lisp/url/url.el
40974 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40976         Merge from origin/emacs-25
40978         16e5e8e Fix last change to isearch-update (bug#23406)
40979         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
40980         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
40981         86aa409 Followup for last commit in the user manual
40982         7004459 Improve doc string of 'set-goal-column'
40983         ccdaf04 Fix the MSDOS build
40984         ffe701c Remove \= from format string (bug#18190)
40985         1c58fa1 Fix variable-pitch font on MS-Windows
40986         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
40987         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
40988         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
40989         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
40990         734fb3a Port dumping to NetBSD with PaX
40991         0255a70 Don't mistake `for' inside a function for a part of array com...
40993         # Conflicts:
40994         #       src/Makefile.in
40996 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40998         Merge from origin/emacs-25
41000         71fb0e0 Improve last change to vc-git-mode-line-string
41001         6858e77 Todo mode doc bug fix
41002         e55d0db Fix revision calculation in vc-git-mode-line-string
41003         ca87b34 ; Fix errant revert ccb75d7
41004         40bfebe Add Python 3.5 keyword "await"
41005         fa7886a Add new keywords of Python 3.5
41006         ccb75d7 Partially revert previous change.
41007         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
41008         b09ca27 Say why text-quoting-style is not a user option
41010 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
41012         Merge from origin/emacs-25
41014         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
41015         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
41016         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
41018 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41020         Mention the `find-library-name' changes
41022 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41024         Fix text in menu in minor-mode-menu-from-indicator
41026         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
41027         capitalize "Off" in "Turn Off" (bug#11028).
41029 2016-05-01  David Engster  <deng@randomsample.de>
41031         gitmerge: Add cherry pick to gitmerge-skip-regexp
41033         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
41034         from commit", which is the string appended by 'git cherry-pick
41035         -x'.
41037 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41039         Allow `global-set-key' to bind keys under the `M-o' map
41041         * lisp/subr.el (global-set-key): Allow binding keys under the
41042         `M-o' map (bug#9730).
41044 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41046         Add `size-indication-mode' to the menu on `mouse-1' "Top"
41048         * lisp/bindings.el (mode-line-column-line-number-mode-map):
41049         Add `size-indication-mode' to the menu (bug#5727).
41051 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41053         Allow finding libraries loaded manually outside the load-path
41055         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
41056         New function to find a library from a load path (bug#5661).
41057         (find-library-name): Use it.
41059         There are so many combinations of inputs and possibly entries in
41060         `load-history' that the code looks like an entry in a code obfuscation
41061         contest.  If anybody has a better implementation, please substitute.
41063         But remember that the input given may be foo, foo.el, foo.elc, and the
41064         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
41065         want to return only foo.el and foo.el.gz.  *phew*
41067 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
41069         Allow minibuffer prompts to use faces
41071         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
41072         `minibuffer-prompt-properties' and explain how faces work in
41073         the minibuffer prompt.
41075         * src/minibuf.c (read_minibuf): If `face' is in
41076         `minibuffer-prompt-properties', apply it to the end of the
41077         face list to allow users to have their own faces on the
41078         prompts (bug#16136).
41080 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
41082         Add R7RS syntax forms to scheme.el
41084         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
41085         a number of special forms introduced in R7RS-small.
41086         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
41088 2016-05-01  Alan Third  <alan@idiocy.org>
41090         Implement horizontal scroll bars on NS
41092         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
41093         check.
41094         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
41095         scroll-bar mouse clicks to standard handlers.
41096         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
41097         pixel_height to pixel_length.
41098         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
41099         caused scroll-bars to be over-drawn and the best working solution
41100         appears to be complete removal.
41101         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
41102         correctly.
41103         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
41104         (setFrame): Handle horizontal case.
41105         (dealloc): Handle horizontal case.
41106         (judge): Handle horizontal case.
41107         (setPosition): Rename pixel_height to pixel_length.
41108         (sendScrollEventAtLoc): Handle horizontal case.
41109         (mouseDown): Handle horizontal case and general tidy up of code.
41110         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
41111         absolute pixel size instead of ratio.
41112         * src/window.h: Remove NS check.
41114 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
41116         tramp.texi: Revert last change due to backward compatibility
41118 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
41120         Fix the buffer-count patch (Bug#23394)
41122         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
41123         once each time through the loop.  Reported by Lars Ingebrigtsen in:
41124         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
41126 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41128         cua-prefix-override-inhibit-delay doc fix
41130         * lisp/emulation/cua-base.el
41131         (cua-prefix-override-inhibit-delay): Typo fix in doc string
41132         (bug#23401).
41134 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
41136         Fix generate-new-buffer-name increment typo
41138         Problem reported by Chaitanya Koparkar (Bug#23394).
41139         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
41140         generating a new buffer.  This fixes a typo I introduced in
41141         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
41143 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41145         global-eldoc-mode doc fix
41147         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
41148         specific about what "applicable" means (bug#23071).
41150 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41152         Make the legend in describe-categories a link
41154         * lisp/help-fns.el (describe-categories): Make the "see
41155         bottom" text a link (bug#22227).
41157 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41159         normal-top-level-add-subdirs-to-load-path doc fix
41161         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
41162         Doc fix (bug#21962).
41164 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41166         isearch-search-fun-function doc tweak
41168         * lisp/isearch.el (isearch-search-fun-function): Mention what
41169         the STRING parameter is (bug#21552).
41171 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41173         Fill some imenu--index-alist doc lines
41175         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
41177 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41179         Make describe-variable look up the variable in the current buffer
41181         * lisp/help-fns.el (describe-variable): Get the variable
41182         definition in the buffer we were called from (in case it only
41183         exists there) (bug#21252).
41185 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41187         Fmarker_position doc string clarification
41189         * src/marker.c (Fmarker_position): Clarify the doc string
41190         (bug#21231).
41192 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41194         Further define-obsolete-* doc fixups
41196         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
41197         Fix up last change.
41198         (define-obsolete-variable-alias): Ditto.
41200 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41202         Describe WHEN in all the define-obsolete- macros
41204         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
41205         Say more verbosely what WHEN is (bug#21225).
41206         (define-obsolete-function-alias): Describe the WHEN parameter.
41207         (define-obsolete-variable-alias): Ditto.
41209 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41211         Mention with-silent-modifications in the lispref manual
41213         * doc/lispref/text.texi (Changing Properties): Document
41214         with-silent-modifications (bug#21171).
41216 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41218         with-silent-modifications doc clarification
41220         * lisp/subr.el (with-silent-modifications): Rearrange the doc
41221         string a bit so that the most pertinent information is at the
41222         top (bug#21171).
41224 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41226         clear-visited-file-modtime doc string fix
41228         * lisp/files.el (clear-visited-file-modtime): Fix possibly
41229         confusing doc string wording (bug#21169).
41231 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41233         Document mode mode line variables
41235         * doc/lispref/modes.texi (Mode Line Variables): Document
41236         `mode-line-front-space, `mode-line-misc-info',
41237         `mode-line-end-spaces' (bug#21014).
41239 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41241         Add a cross ref to Optional Mode Line
41243         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
41244         reference to the Emacs mode line node that explains things
41245         like `display-time-string' (bug#21002).
41247 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41249         Add a doc string to display-time-string
41251         * lisp/time.el: Add a doc string to `display-time-string',
41252         because it's referred to in the manual, and is too mysterious
41253         otherwise (bug#21002).
41255 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41257         custom-buffer-style doc fix
41259         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
41260         value (bug#20724).
41262 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41264         Document how to check for ImageMagick support
41266         * doc/lispref/display.texi (ImageMagick Images): Say how to
41267         check for ImageMagick support, which isn't quite obvious
41268         (bug#20702).
41270 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41272         Minor doc fix for ImageMagick/SVG builds
41274         * doc/lispref/display.texi (SVG Images): Don't imply that you
41275         have to build Emacs yourself (bug#20702).
41276         (ImageMagick Images): Ditto.
41278 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41280         Rearrange the doc of query-replace slightly
41282         * lisp/replace.el (query-replace): Move the mention of the
41283         interactive prefix arg earlier so that users can find it
41284         (bug#20654).
41286 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41288         apropos-print doc fix
41290         * lisp/apropos.el (apropos-print): Document the undocumented
41291         parameters (bug#20520).
41293 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41295         completion-table-with-predicate doc string fix
41297         * lisp/minibuffer.el (completion-table-with-predicate): t ->
41298         non-nil in the doc string (bug#20460).
41300 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41302         Fill the completion-table-with-predicate doc string
41304         * lisp/minibuffer.el (completion-table-with-predicate): Fill
41305         the doc string (bug#20460).
41307 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41309         replace-match-maybe-edit doc clarification
41311         * lisp/replace.el (replace-match-maybe-edit): Say what
41312         MATCH-DATA is (bug#20304).
41314 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41316         add-timeout doc fix
41318         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
41319         value (bug#20181).
41321 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41323         Extremely minor doc fix in Choosing Window
41325         * doc/lispref/windows.texi (Choosing Window): There's only one
41326         action alist, I think (bug#20158).
41328 2016-04-30  Alan Mackenzie  <acm@muc.de>
41330         * .dir-locals.el: Amend for correct fontification of *.[ch]
41331         containing "IF_LINT"
41333 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41335         Transform mentions of `eval-after-load' to `with-eval-after-load'
41337         * doc/lispref/loading.texi (Hooks for Loading): Update text to
41338         not mention `eval-after-load' (bug#20038).
41340 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41342         cursor-type doc fix
41344         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
41345         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
41347 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41349         Add a link from Tool Bar to Images
41351         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
41352         Images node (bug#19722).
41354 2016-04-30  Alan Mackenzie  <acm@muc.de>
41356         CC Mode: Recognize a noise macro with parens after a declarator's identifier
41358         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
41359         following comment "Skip over type decl suffix operators." insert code also
41360         to check for noise macros with parentheses.
41362 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41364         (default-mode-line-format): More explicit obsolete info
41366         * lisp/subr.el (default-mode-line-format): Be more explicit in
41367         how default values are now handled (bug#19424).
41369 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41371         Fcompare_buffer_substrings doc string clarification
41373         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
41374         doc string clarification (bug#19255).
41376 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41378         insert-file-contents-literally doc fix
41380         * lisp/files.el (insert-file-contents-literally): Say that the
41381         parameters are explained in the other function (bug#18317).
41383 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41385         Fix custom types for cursor-in-non-selected-windows
41387         * lisp/cus-start.el (standard): Use the same custom types for
41388         cursor-in-non-selected-windows as for cursor-type (bug#19214).
41390 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41392         Doc clarification to mwheel-scroll
41394         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
41395         does not apply to Windows (bug#19209).
41397 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41399         Clarify the doc of eval-expression-print-format
41401         * lisp/simple.el (eval-expression-print-format): Doc
41402         clarification (bug#19114).
41404 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41406         (extended-command-suggest-shorter): Add a version string
41408         * lisp/simple.el (extended-command-suggest-shorter): Add a
41409         version string.
41411 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41413         Document extended-command-suggest-shorter
41415         * doc/emacs/m-x.texi (M-x): Mention
41416         extended-command-suggest-shorter (bug#19152).
41418 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
41420         Add a variable to control "shorter command" suggestions
41422         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
41423         (execute-extended-command): Use it.
41425 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41427         Explictly explain that package-initialize loads the packages
41429         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
41430         in saying that `package-initialize' obviates adjusting the
41431         path or requiring the packages, as this is a question that
41432         apparently comes up now and then (bug#18829).
41434 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41436         Have the doc strings of `load-path' and `require' mention each other
41438         * src/fns.c (Frequire): Mention `load-path' and fill the doc
41439         string (bug#18829).
41441         * src/lread.c (syms_of_lread): Mention that `require' uses
41442         `load-path'.
41444 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41446         Doc fix for insert-pair-alist
41448         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
41449         COMMAND-CHAR is (bug#18809).
41451 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41453         Move doc of backup-directory-alist to the Backup node
41455         * doc/emacs/files.texi (Backup): Move the documentation of
41456         `backup-directory-alist' here from the "Single or Numbered
41457         Backups" node, because it doesn't seem to have much to do with
41458         numbering (bug#18692).
41460 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41462         Tiny doc clarification for create-fontset-from-fontset-spec
41464         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
41465         Clarify what the optional part is (bug#18686).
41467 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41469         Fill the doc string of font-lock-keywords
41471         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
41472         reorganize some explanations (bug#21427).
41474 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41476         Doc fix for font-lock-remove-keywords
41478         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
41479         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
41481 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
41483         Clarify whitespace-style doc string
41485         * lisp/whitespace.el (whitespace-style): Doc clarification
41486         (bug#18296).
41488 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41490         No need to test for jka-compr
41492         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
41493         is always available; no need to test (bug#18204).
41495 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41497         Doc fixed for next-error-buffer-p
41499         * lisp/simple.el (next-error-buffer-p): Clarify doc string
41500         (bug#18202).
41502 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41504         Tiny doc fix
41506         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
41507         (and fill) (bug#18201).
41509 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41511         Doc fix
41513         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
41514         slightly (bug#18092).
41516 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41518         delsel doc touch ups
41520         * lisp/delsel.el (delete-selection-helper): Use non-nil
41521         instead of t and clarify function return values (bug#18089).
41523 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41525         Doc fixes for menu-bar.el
41527         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
41528         REGION parameter (bug#18028).
41529         (clipboard-kill-region): Ditto.
41531 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41533         Doc fix
41535         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
41537 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41539         Minor doc clarification
41541         * lisp/subr.el (y-or-n-p): Document the return value from "n"
41542         (bug#18024).
41544 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41546         Fill font-lock-mode doc string
41548         * lisp/font-core.el (font-lock-mode): Fill the text to make it
41549         narrower (bug#18008).
41551 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41553         Wrap the auto-generated doc string
41555         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
41556         string to make it less likely that we get overlong lines
41557         (bug#17999).
41559 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41561         Clarify hi-lock-find-patterns
41563         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
41564         (bug#17989).
41566 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41568         Warning fix in jit-lock-mode
41570         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
41571         turning the mode on in an indirect buffer, if this somehow has
41572         happened (bug#17738).
41574 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41576         Add a doc string to `winner-mode'
41578         * lisp/winner.el (winner-mode): Add a doc string based on the
41579         comments in the file (bug#17716).
41581 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41583         Doc fix for align-newline-and-indent
41585         * lisp/align.el (align-newline-and-indent): Mention that
41586         alignment is done by `align' (bug#17707).
41588 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41590         Cancel the eldoc timer when switching off eldoc mode
41592         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
41593         timer when switching off eldoc mode.  It will be restarted
41594         again if needed (bug#17582).
41596 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41598         Doc fix for `kbd'
41600         * lisp/subr.el (kbd): Describe more fully the format of the
41601         parameter (bug#17039).
41603 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41605         Add a sanity check to apropos-documentation-internal
41607         * lisp/apropos.el (apropos-documentation-internal): Add a
41608         sanity check to be less fragile in the presence of invalid
41609         data (bug#16725).
41611 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41613         Doc tweak
41615         * lisp/simple.el (use-empty-active-region): Doc tweak.
41616         There's only one region (bug#16513).
41618 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41620         Clarify `read-face-name' doc and tweak the code
41622         * lisp/faces.el (read-face-name): Clarify the documentation
41623         and allow a mix of faces and faces names in all cases
41624         (bug#16483).
41626 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41628         Remove ": ?" from the read-face-name prompt
41630         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
41631         to be more backwards compatible (bug#15909).
41633 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41635         Link from (emacs)Exiting to (lisp)Killing Emacs
41637         * doc/emacs/entering.texi (Exiting): Link to the lispref
41638         manual for further customizations (bug#15445).
41640 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41642         find-lisp doc touchups
41644         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
41645         string (bug#15047).
41646         (find-lisp-find-files): Clarify doc.
41648 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41650         Don't have the manual claim that it lists all CL incompatibilities
41652         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
41653         incompatibilities isn't exhaustive, so don't say that it is
41654         (bug#15171).
41656 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41658         Fix call of `kmacro-display'
41660         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
41661         `kmacro-display' (bug#15020).
41663 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
41665         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
41667         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
41668         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
41669         (bug#14554).
41671 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41673         Rename "Directory Search" menu to "Servers"
41675         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
41676         Search" to "Directory Servers".  Suggested by Eli
41677         Zaretskii. (bug#14919).
41679         * lisp/net/eudc.el: Rename ditto throughout.
41681 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41683         Remove uses of the unused to-end parameter from simple.el
41685         * lisp/simple.el (line-move-partial): Remove usages of the
41686         unused to-end parameter, and make it optional (bug#14844).
41687         (line-move): Remove use of the unused to-end parameter.
41689 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41691         Doc fix: _ chars are automatically removed.
41693         * lisp/cus-edit.el (custom-buffer-create): _ chars are
41694         automatically removed when displaying help, so fix the last
41695         doc change.
41696         (custom-buffer-create-other-window): Ditto.
41698 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41700         Doc string change to enable-recursive-minibuffers
41702         * src/minibuf.c (syms_of_minibuf): Mention
41703         minibuffer-depth-indicator-mode in the doc string to
41704         enable-recursive-minibuffers (bug#14147).
41706 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41708         Fix definition of nobreak-space
41710         * lisp/faces.el (nobreak-space): The definition to
41711         nobreak-space was inadvertantly changed by the previous checkin.
41713 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41715         Clarify the `interactive' doc string slightly
41717         * src/callint.c (Finteractive): Clarify the doc string slightly
41718           (bug#14577).
41720 2016-04-28  Drew Adams  <drew.adams@oracle.com>
41722         Make icomplete respect `completion-ignored-extensions'
41724         * lisp/icomplete.el (icomplete-completions): Heed
41725         `completion-ignored-extensions' (bug#12939).
41727 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41729         Make ibuffer not break on newline-embedded buffer names
41731         * lisp/ibuffer.el (name): When buffer names contain newlines,
41732         quote those newlines before displaying (bug#12378).
41734 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41736         Add a new face for non-breaking hyphen characters
41738         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
41739         (Text Display): Ditto.
41741         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
41743         * src/xdisp.c (get_next_display_element): Use it instead of
41744         the escape-glyph face.
41746         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
41748 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41750         Make a menu less ambiguous
41752         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
41753         is about using modifier keys, not binding them (bug#10942).
41755 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41757         Make kill-emacs-query-functions into defcustom
41759         * lisp/files.el (save-buffers-kill-terminal): Mention
41760         `save-buffers-kill-emacs' (bug#10794).
41761         (kill-emacs-query-functions): Made into a defcustom.
41763 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41765         Have describe-variable output multi-line values better
41767         * lisp/help-fns.el (describe-variable): When printing
41768         multi-line expressions, display them prettier (bug#10723).
41770 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41772         Clean up custom-buffer-create code slightly
41774         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
41775         pass the unused description value on (for clarity) (bug#10540).
41776         (custom-buffer-create): Ditto
41778 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41780         Clarify some doc strings
41782         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
41783         Clarify doc string (bug#8693).
41784         (syntax-propertize): Clarify doc string.
41786 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
41788         Fix number-at-point in lisp buffers
41790         * lisp/thingatpt.el (number-at-point): Don't say that things
41791         like ?a are numbers in lisp mode buffers (bug#8634).
41793 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
41795         Don't consider colons to be paragraphs starting chars in strings
41797         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
41798         consider colons to start paragraphs in (doc) strings
41799         (bug#7751).
41801 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41803         Make `undo' of `C-x r t' put point where it should be
41805         * lisp/rect.el (string-rectangle): Make `undo' of a this
41806         command put point back where it was (bug#7522).
41808 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41810         Add some concept index entries for custom types
41812         * doc/lispref/customize.texi (Composite Types): Add concept
41813         index entries for restricted-sexp, radio and choice (bug#7385).
41815 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41817         Mention `lisp-indent-function' in the lispref manual
41819         * doc/lispref/macros.texi (Indenting Macros): Mention
41820         `lisp-indent-function' (bug#3393).
41822 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41824         Clarify doc string of internal compilation function
41826         * lisp/progmodes/compile.el (compilation-get-file-structure):
41827         Clarify doc string (bug#3137).
41829 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41831         Avoid having `C-x h' mark the prompt part of the minibuffer
41833         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
41834         part of the minibuffer (bug#2589).
41836 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41838         Allow a prefix argument to find-library to pop to a different window
41840         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
41841         argument to pop to a different window (bug#2270).
41843 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41845         Move the diff command to "Operate" in ibuffer
41847         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
41848         command to the "Operate" menu, and remove the customization
41849         entry to make the "View" menu more logical (bug#1150).
41851 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
41853         Make the minor modes in help buffers into buttons
41855         * lisp/help.el (describe-mode): Make the minor modes into
41856         buttons to enable easier documentation traversal (bug#1149).
41858 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
41860         Add a number of Python 3 exceptions
41862         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
41863         the exception list, adding a number of new Python 3 exceptions and
41864         moving some exceptions to the Python 2 and 3 list as Python 2.7
41865         includes them.
41867 2016-04-26  Anders Lindgren  <andlind@gmail.com>
41869         Fix bug#22891: wrong terminal width when a fringe width is zero.
41871         When either fringe width is zero, Emacs reserved one column for a
41872         continuation glyph. Terminal windows does not take this into
41873         account when the frame is resized.
41875         * lisp/window.el (window-adjust-process-window-size): Use
41876         `window-max-chars-per-line' instead of `window-body-width'.
41877         * lisp/term.el (term-window-width): Remove function. (It does the
41878         same as `window-max-chars-per-line' but without recent bug fixes.)
41879         (term-mode): Use `window-max-chars-per-line' instead of
41880         `term-window-width'.
41882 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
41884         Add completion of `calc()' in CSS mode
41886         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
41887         a completion candidate for several value classes.
41888         (css--value-class-lookup): Return only unique results.
41890         * test/lisp/textmodes/css-mode-tests.el
41891         (css-test-property-values-no-duplicates)
41892         (css-test-value-class-lookup): Update to reflect the above changes.
41894 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
41896         Fix socketd fd startup bug that I introduced
41898         Problem reported by Matthew Leach in:
41899         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
41900         * src/emacs.c (main): Indicate more clearly the coupling between
41901         the --daemon option and init_process_emacs.
41902         * src/lisp.h: Adjust to API changes.
41903         * src/process.c (set_external_socket_descriptor):
41904         Remove, replacing by ...
41905         (init_process_emacs): ... passing the socket FD here instead.
41906         All uses changed.
41908 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
41910         Fix: (void-variable url-http-response-status)
41912         * lisp/url/url-http.el
41913         (url-https-proxy-after-change-function): Display the error
41914         message before doing the callback to avoid a void variable
41915         situation (bug#23290).
41917 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41919         smtpmail would say it's done before it is
41921         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
41922         of the data end marker from here... (bug#23020).
41923         (smtpmail-send-data): ... to here, so that we don't get a
41924         "Sending done" before we've sent the final "." (which can make
41925         the SMPT server reject the email.
41927 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41929         `url-retrieve-synchronously' now takes an optional timeout parameter
41931         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
41933         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
41934         in a timeout parameter (bug#22940).
41936 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
41938         Include "Retype" as a comint password prompt
41940         * lisp/comint.el (comint-password-prompt-regexp): Include
41941         "Retype" to catch "Retype password for [account]:" from the
41942         "pass" utility (bug#22942).
41944 2016-04-25  Alan Mackenzie  <acm@muc.de>
41946         Fix spurious fontification of "for (; a * b;)" in CC Mode.
41948         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
41949         inside the parens of a for statement and after a semicolon near the beginning
41950         of the lambda form.
41952 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
41954         New function ‘char-from-name’
41956         This also fixes the mishandling of "\N{CJK COMPATIBILITY
41957         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
41958         Problem reported by Eli Zaretskii in:
41959         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
41960         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
41961         * lisp/international/mule-cmds.el (char-from-name): New function.
41962         (read-char-by-name): Use it.  Document that "BED" is treated as
41963         a name, not as a hexadecimal number.  Reject out-of-range integers,
41964         floating-point numbers, and strings with trailing junk.
41965         * src/lread.c (character_name_to_code): Call char-from-name
41966         instead of inspecting ucs-names directly, so that we handle
41967         computed names like "VARIATION SELECTOR-1".  Do not use an auto
41968         string, since char-from-name might GC.
41969         * test/src/lread-tests.el: Add tests for new behavior, and
41970         fix some old tests that were wrong.
41972 2016-04-25  Alan Mackenzie  <acm@muc.de>
41974         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
41976         This allows the calling of c-restore-<>-properties from c-common-init without
41977         the test suite giving spurious errors.
41979         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
41980         sets face properties.
41981         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
41982         template brackets using c-inside-<>-type-key.  Don't bind
41983         c-record-type-identifiers or c-record-found-types around the recursive call,
41984         allowing positions of found types to flow back to the caller.
41986         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
41987         new lang consts/var.
41989         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
41990         c-restore-<>-properties from the list of functions called at mode
41991         initialization.
41993 2016-04-25  Jun Hao  <jun_hao@aol.com>
41995         Pass in port only if provided by caller in the OS X keychain
41997         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
41998         port only if provided (bug#23374).
42000 2016-04-25  Alan Mackenzie  <acm@muc.de>
42002         Add fontification for a C declaration which looks like a function call.
42004         For example, "t1 *fn (t2 *b);".
42006         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
42007         at-decl-start, setting it to whether the putative decl starts immediately
42008         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
42009         non-nil.
42011         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
42013 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
42015         Don't mirror slashes in convert-standard-filename on MS-Windows
42017         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
42018         slashes into backslashes.  This avoids producing ugly file names,
42019         and is deemed no longer necessary, and should certainly be
42020         unrelated to which shell is in use.
42022 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
42024         Revert the disputed VC change and update the tests
42026         * lisp/vc/vc-hooks.el (vc-working-revision):
42027         Remove the previous change.
42028         (vc-state): Same.  And update the old, incorrect comment about
42029         unregistered files
42030         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
42032         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
42033         calling `vc-state' on default-directory (VC state is undefined
42034         for directories).  Check that `vc-state' returns nil where it
42035         returned `unregistered' before.  Remove all checks comparing
42036         invocations with the backend passed in explictly and without.
42037         (vc-test--working-revision): Remove all checks comparing
42038         invocations with the backend passed in explictly and without.
42039         Update comments, and add a new one.
42041 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42043         * etc/NEWS: Grammar and punctuation improvements.
42045 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42047         Merge from origin/emacs-25
42049         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
42050         0cd2e92 Don't kill ~/ if it's the top level directory
42051         4f40f5f describe-char: fix insert char documentation
42052         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
42054 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42056         Merge from origin/emacs-25
42058         960f90d * etc/AUTHORS: Update the AUTHORS file
42059         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
42061 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
42063         Merge from origin/emacs-25
42065         78f9af7 ; ChangeLog fixes
42066         162e549 * admin/authors.el (authors-ignored-files): Additions.
42067         2b31a0c In x_set_window_size restore do_pending_window_change calls
42068         401857e Fix Alt-modified keys on some European MS-Windows keyboards
42069         a77cf24 Document 'help-go-forward'
42070         1ba947f Revert "Allow to customize names of executables used by grep.el"
42071         570e0fa Revert "Don't use 'find-program'"
42072         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
42073         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
42074         ce0d8c7 Make tmm-menubar work in correct order again
42075         b8d5a8f Remove the Meta-CVS VC backend
42077 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
42079         Don't let `css--property-values' return duplicates
42081         * lisp/textmodes/css-mode.el (css--property-values): Don't return
42082         duplicate values.
42084         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
42085         Take the above into account.
42086         (css-test-property-values-no-duplicates): Test that duplicates aren't
42087         returned by `css--property-values'.
42089 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42091         Call `make-composed-keymap' correctly
42093         * lisp/image-mode.el (image-mode-map): Call
42094         `make-composed-keymap' correctly.
42096 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42098         Use `make-composed-keymap' instead of copying the keymap
42100         * lisp/image-mode.el (image-mode-map): Use
42101         `make-composed-keymap' instead of copying the keymap.
42103 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42105         Make `q' etc work in image mode again
42107         * lisp/image-mode.el (image-mode-map): Restore
42108         special-mode-map as the parent keymap of image-mode-map (bug#23167).
42110 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42112         Fix typo in last url.texi checkin
42114 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42116         Make STARTTLS error messages better
42118         * lisp/net/network-stream.el (network-stream-open-starttls):
42119         Output a better error message when TLS negotiation fails while
42120         doing STARTTLS (bug#23027).
42122 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42124         Encode the shr tests files with trailing white space
42126 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
42128         Cache results of `css--property-values'
42130         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
42131         values.
42133         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
42134         New regression test for the above.
42136 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
42138         Some improvements in vc
42140         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
42141         Check, whether FILE is registered.
42143         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
42144         for nonexistent files.
42146         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
42147         (vc-test--revision-granularity-function)
42148         (vc-test--unregister-function): Use `vc-call-backend'.
42149         (vc-test--run-maybe-unsupported-function): New defmacro.
42150         (vc-test--register, vc-test--state, vc-test--working-revision)
42151         (vc-test--checkout-model): Use it.  Fix also expected results.
42152         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
42154 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42156         Document the nil/default values of url-user-agent
42158         * doc/misc/url.texi (Customization): Document the nil/default
42159         values of url-user-agent.
42161 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
42163         Compute User-Agent dynamically in url-http
42165         * lisp/url/url-http.el (url-http-user-agent-string): Compute
42166         User-Agent string dynamically.
42167         (url-http--user-agent-default-string): New function.
42169         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
42170         of information not to send.
42171         (url-user-agent): Add nil and `default' options; do not
42172         pre-compute value.
42174 2016-04-24  Jun Hao  <jun_hao@aol.com>
42176         Handle auth-source items with special characters on OS X
42178         * lisp/auth-source.el
42179         (auth-source-macos-keychain-search-items): Handle keychain
42180         output correctly when has special chararcters (bug#22824).
42182 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
42184         Implement process-attributes for Darwin
42186         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
42187         (system_process_attributes): Implement process-attributes
42188         for Darwin (bug#16579).
42190 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42192         Use Unicode literals instead of hex values
42194         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
42195         of hex values for greater readability.
42196         (shr-tag-bdi): Ditto.
42198 2016-04-24  Steve Purcell  <steve@sanityinc.com>
42200         Allow _ characters in SQL prompts
42202         * lisp/progmodes/sql.el (sql-product-alist): Allow _
42203         characters in SQL prompts (bug#22596).
42205         Fixes issue 22596, whereby "_" is now not considered a word constituent
42206         character in sql-interactive-mode, so prompts like "foo_dev# " are not
42207         correctly detected. Rather than piggy-back on the symbol table, we
42208         explicitly match against alphanumeric chars or "_".
42210 2016-04-23  Glenn Morris  <rgm@gnu.org>
42212         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
42214         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
42215         (autoload-generate-file-autoloads, autoload-find-destination)
42216         (update-directory-autoloads): Use autoload--non-timestamp.
42218 2016-04-23  Glenn Morris  <rgm@gnu.org>
42220         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
42222 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
42224         Regexps for matching CMake output
42226         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
42227         regexps for matching CMake output.
42228         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
42229         CMake test cases.
42230         * etc/compilation.txt (CMake): Add CMake examples.
42232 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
42234         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
42236         Fix docstring quotes.
42238 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
42240         Improve character name escapes
42242         * doc/lispref/nonascii.texi (Character Properties):
42243         Avoid duplication of Unicode names.  Reformat examples to fit in
42244         narrow pages.
42245         * doc/lispref/objects.texi (General Escape Syntax):
42246         Simplify and better-organize explanation of \N{...} escapes.
42247         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
42248         (char_surrogate_p): New inline function.
42249         * src/lread.c: Do not include string.h; no longer needed.
42250         (invalid_character_name, check_scalar_value): Remove; the ideas
42251         behind these functions are now bundled into character_name_to_code.
42252         (character_name_to_code): Remove undocumented support for "CJK
42253         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
42254         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
42255         point in \N escapes instead of returning garbage.  Use
42256         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
42257         * test/src/lread-tests.el (lread-char-number, lread-char-name)
42258         (lread-string-char-number, lread-string-char-name):
42259         Test runtime behavior, not compile-time, as the test framework
42260         is not set up to test compile-time.
42261         (lread-char-surrogate-1, lread-char-surrogate-2)
42262         (lread-char-surrogate-3, lread-char-surrogate-4)
42263         (lread-string-char-number-2, lread-string-char-number-3):
42264         New tests.
42265         (lread-string-char-number-1): Rename from lread-string-char-number.
42267 2016-04-21  Philipp Stephani  <phst@google.com>
42269         Use 'ucs-names' for character name escapes
42271         * src/lread.c (invalid_character_name, check_scalar_value)
42272         (parse_code_after_prefix, character_name_to_code): New helper
42273         functions that use 'ucs-names' and parsing for CJK ideographs.
42274         (read_escape): Use helper functions.
42275         (syms_of_lread): New symbol 'ucs-names'.
42276         * test/src/lread-tests.el: New tests; fix a couple of bugs in
42277         existing tests.
42279 2016-04-21  Philipp Stephani  <phst@google.com>
42281         Minor cleanups for character name escapes
42283         * src/lread.c (init_character_names): Add missing 'void'.
42284         Remove top-level 'const'.
42285         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
42287 2016-04-21  Philipp Stephani  <phst@google.com>
42289         Add documentation for character name escapes
42291 2016-04-21  Philipp Stephani  <phst@google.com>
42293         Implement named character escapes, similar to Perl
42295         * src/lread.c (init_character_names): New function.
42296         (read_escape): Read Perl-style named character escape sequences.
42297         (syms_of_lread): Initialize new variable 'character_names'.
42298         * test/src/lread-tests.el (lread-char-empty-name): Add test file
42299         for src/lread.c.
42301 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
42303         Avoid run-time dependency on libwinpthread DLL on MS-Windows
42305         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
42306         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
42307         present, so that MinGW64 builds don't depend on libwinpthread.
42308         (Bug#22959)
42310 2016-04-21  Matthew Leach  <matthew@mattleach.net>
42312         Add LIBSYSTEMD to the list of supported features
42314         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
42315         message at the end of configure stating whether Emacs will be build
42316         with libsystemd support.
42318 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
42320         Support absolute column movement in 'ansi-term'
42322         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
42323         for absolute column movement.  (Bug#23303)
42325 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
42327         Add Python 3.5 keyword "await"
42329         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
42330         keyword.
42332 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
42334         Add "keyframes" to list of CSS at-rules
42336         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
42338 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
42340         Prevent bootstrap autoload backup files
42342         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
42343         backups in newly created file.
42345         (autoload-ensure-default-file): Function split into two.
42346         (autoload-ensure-file-writeable): New function from split.
42348         (Bug#23203)
42350 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
42352         Fix org-timestamp-change typo
42354         Problem reported by Peter Münster (Bug#23299).
42355         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
42356         on undocumented behavior in ‘encode-time’.  In practice the
42357         old code used local time, so use that.
42359 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
42361         Avoid AC_PREPROC_IFELSE glitch in configure.ac
42363         Problem reported by Angelo Graziosi in:
42364         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
42365         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
42366         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
42368 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
42370         autorevert: Resume with polling if file is deleted
42372         * lisp/autorevert.el: Use consistent wording in comments and
42373         docstrings.
42374         (auto-revert-mode): Add local function to `kill-buffer-hook'.
42375         (auto-revert-notify-handler): Improve handling of `stopped' event.
42377         * test/lisp/autorevert-tests.el
42378         (auto-revert-test02-auto-revert-deleted-file): New test.
42379         (auto-revert-test03-auto-revert-tail-mode)
42380         (auto-revert-test04-auto-revert-mode-dired): Rename them.
42382 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
42384         Merge from origin/emacs-25
42386         5a0cbe5 Fix Bug#23276
42387         2007e32 Sync with upstream vhdl mode v3.38.1.
42388         b6d2552 Tweak configure.ac syntax in recent module patch
42390 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
42392         Merge from origin/emacs-25
42394         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
42395         3287f48 ; Add entry to MAINTAINERS
42396         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
42397         0f33284 Make use of rectangle-preview custom variable.
42398         aa0d83a Make use of rectangle-preview face.
42399         33bef6e Use 'grep-find-program' in check-declare.el
42400         a8560e5 Improve "C-h S" for cl-lib symbols
42401         52e798b Fix minor issues with removing left or right fringes
42402         d6ffd64 Speed up redisplay in ansi-term mode
42403         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
42404         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
42405         ab849b7 Fix w32 memory-management problem when extending buffer text
42407 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
42409         Merge from origin/emacs-25
42411         32364bb substitute-command-keys keeps quotes’ text props
42412         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
42413         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
42414         cc0b713 Perform xref searches without visiting unopened files
42415         5045575 Revert "Prevent bootstrap autoload backup files"
42417 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
42419         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
42421         so that it matches the actual implementation.
42422         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
42424 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
42426         * lisp/textmodes/ispell.el: Compile with lexical-binding
42428         (declare-function): Don't define any more.
42429         (ispell-check-minver, ispell-looking-back): Tweak definition so that
42430         the compiler can obviously know that it's always defined.
42431         (ispell-debug-buffer): Declare var.
42432         (ispell-hunspell-fill-dictionary-entry)
42433         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
42434         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
42435         (ispell-command-loop): Avoid add-to-list on local variables.
42437 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
42439         Minor fixups for external socket launching
42441         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
42442         * doc/emacs/misc.texi (Emacs Server):
42443         * etc/NEWS: Spelling and doc fixes.
42444         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
42445         Check for sd_is_socket returning positive, not zero.
42446         * src/process.c (external_sock_fd): Instead of initializing here ...
42447         (init_process_emacs): ... initialize it here, so that it does the
42448         right thing after dump/restore.
42449         (connect_network_socket): Simplify socket_to_use test.
42451 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
42453         Add HTML5 tags to HTML mode
42455         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
42456         (html-tag-help): Add short descriptions of those tags.
42458 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42460         Finish idna->puny changes in last Message patch
42462         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
42463         instead of idna functions.
42465 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42467         Use puny.el instead of idna.el functions in Gnus
42469         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
42470         Emacs comes with IDNA support built in).
42471         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
42472         `idna-to-unicode'.
42474         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
42476 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42478         Mention `message-use-idna' in NEWS
42480 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42482         Default `message-use-idna' to t
42484         * lisp/gnus/message.el (message-use-idna): Default to t (since
42485         Emacs comes with puny.el now).
42487 2016-04-16  Matthew Leach  <matthew@mattleach.net>
42489         Extend battery.el to exotic power supply types
42491         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
42492         'battery--linux-sysfs-regexp' and make a defcustom. All users
42493         changed.  (Bug#23216)
42495 2016-04-16  Matthew Leach  <matthew@mattleach.net>
42497         Add external socket launching support
42499         * src/process.c (connect_network_socket): Allow a pre-allocated socket
42500         descriptor to be used if passed to Emacs, avoiding the call to
42501         'socket' and 'bind'.
42502         (Fmake_network_process): Allow users to pass ':use-external-socket' in
42503         the parameter plist to use any sockets that have been passed to Emacs.
42504         (wait_reading_process_output): Call 'socket' and 'bind' every time.
42505         (syms_of_process): New symbol ':use-external-socket'.
42506         (set_external_socket_descriptor): New function.
42507         (external_sock_fd): New variable.
42508         * src/lisp.h: (set_external_socket_descriptor): New declaration.
42509         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
42510         passed and call 'set_external_socket_descriptor' to set the external
42511         socket.
42512         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
42513         compilation options.
42515         * configure.ac: Add new default-on option "systemd" and check for
42516         libsystemd at configure time.
42518         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
42519         calling 'make-network-process'.
42521         * etc/NEWS: Document new socket-passing functionality and the configure
42522         option to disable systemd interaction.
42524         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
42525         functionality and provide systemd unit examples.
42526         * doc/lispref/processes.texi (Network Processes): Document new
42527         'make-network-process' option ':use-external-socket'.
42529 2016-04-16  Matthew Leach  <matthew@mattleach.net>
42531         Don't spell-check argument of 'cref' TeX macro
42533         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
42534         macro to skip spell-checking the cref macro argument.
42536 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42538         Simplify use of O_BINARY
42540         * src/callproc.c (call_process):
42541         * src/fileio.c (write_region):
42542         * src/filelock.c (read_lock_data):
42543         * src/image.c (x_find_image_fd):
42544         * src/lread.c (openp):
42545         * src/sysdep.c (init_random, emacs_fopen):
42546         * src/unexcw.c (unexec):
42547         Omit unnecessary use of O_BINARY, since emacs_open now arranges
42548         that for us.
42550 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42552         * src/indent.c (Fvertical_motion): Pacify GCC
42554         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
42556 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42558         Port ‘./autogen.sh git’ to non-clones
42560         Problem reported by Angelo Graziosi in:
42561         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
42562         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
42563         there is no ‘.git’.
42564         (git_common_dir, hooks): New vars.
42565         (git_config, tailored_hooks, sample_hooks): Use them.
42567 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42569         Do not require that .git be a directory
42571         Problem reportyed by Phillip Lord.
42572         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
42573         * configure.ac, make-dist:
42574         Do not require that .git be a directory, as 'git worktree' makes
42575         it a file and not a directory.
42577 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42579         Avoid now-obsolete function gmm-format-time-string
42581         * lisp/gnus/message.el (message-insert-formatted-citation-line):
42582         Use format-time-string instead of obsolete function
42583         gmm-format-time-string.
42585 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42587         Support OFFSET and (OFFSET ABBR) time zone rules
42589         This simplifies Gnus and VC time zone support, by letting them
42590         feed the output of ‘current-time-zone’ and ‘decode time’ to
42591         primitives that accept time zone arguments.
42592         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
42593         * etc/NEWS:
42594         * lisp/gnus/message.el (message-insert-formatted-citation-line):
42595         * lisp/org/org.el (org-timestamp-format):
42596         * src/editfns.c (Fformat_time_string, Fdecode_time):
42597         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
42598         Document new behavior.
42599         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
42600         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
42601         Mark as obsolete, as it is now just an alias or narrow wrapper
42602         around format-time-string.
42603         * src/editfns.c (tzlookup): Also support integer OFFSET and
42604         list (OFFSET ABBR) as time zone rules.
42605         (Fencode_time): No longer need a special case for a cons ZONE.
42606         (Fcurrent_time_zone): If the time zone string is missing, compute
42607         it the same way the other new code does.
42609 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42611         Merge from origin/emacs-25
42613         ca50981 Improve time zone documentation
42614         c23c965 Prevent bootstrap autoload backup files
42615         9344612 Disable multicolor fonts on OS X since they are not supported...
42616         c41ce1c Capitalize “Universal Time” in documentation
42617         10597c9 Don't use 'find-program'
42619 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42621         Merge from origin/emacs-25
42623         b134c20 Sync with gnulib
42624         bb30fa9 Fix last change on 2016-01-02
42625         488a72f ; Spelling fixes
42626         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
42627         0e7bcec Avoid crashes due to unreasonably large or small text scaling
42628         85f257c Improve documentation of 'with-eval-after-load'
42629         668c7bc Improve handling of non-ASCII characters in Git log messages
42630         b570769 Remove undefined behavior in OS X dumper.
42631         97211f3 Fix clipping of xwidgets
42632         e87fbc0 Improve Lisp-level documentation of tooltips
42633         9f1786e Faces names should not end in "-face".
42634         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
42635         a1f221b Comint and compile no longer set EMACS
42636         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
42637         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42638         c93ae7a Allow to customize names of executables used by grep.el
42639         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
42640         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
42641         a3f1ac2 Avoid infinite loop in 'studlify-word'
42642         f36df4b Don’t recommend obsolete EMACS env var
42643         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
42645 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42647         Merge from origin/emacs-25
42649         96d9e78 Fix "Beginning of buffer" error in forward-page
42650         20686f7 Add a `transient' project type
42652 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
42654         Merge from origin/emacs-25
42656         80128a7 Fix stability confusion in sort-tests
42657         1e4aa42 Avoid describe-key error with lambdas
42658         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
42659         f501116 Sync with gnulib
42660         c4963f9 Fix doc for Universal Time
42662 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
42664         Fix alignement rule for CSS
42666         * lisp/align.el (align-rules-list): Support CSS properties that have
42667         multiple words.
42669 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
42671         New custom option for overriding mailcap choices
42673         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
42674         (mailcap--set-user-mime-data): New function.
42675         (mailcap-user-mime-data): New customization option.
42676         (mailcap-select-preferred-viewer): New function.
42677         (mailcap-mime-info): Use it.
42679         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
42681 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
42683         Fix Bug#23207
42685         * src/keyboard.c (read_char): Resume idle timers in case of
42686         dbus-event, file-notify-event and config-changed-event.
42687         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
42689 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
42691         Add vc-backend and vc-responsible-backend tests
42693         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
42694         (vc-file-clearprops): Use properties on absolute files.
42696         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
42697         Clear file properties.
42698         (vc-test--register): Add tests for `vc-backend' and
42699         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
42700         (vc-test--state, vc-test--checkout-model): Catch other errors
42701         but `vc-not-supported'.
42702         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
42703         other errors but `vc-not-supported'.
42704         (vc-test-src02-state): Mark as an expected failure.
42706 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
42708         Minor improvements for hash function primitives
42710         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
42711         hashfn_eq rather than reaching inside them.
42712         (hashtest_eq, hashtest_eql, hashtest_equal):
42713         Now constants with initializers.
42714         (syms_of_fns): Omit no-longer-needed initialization.
42715         * src/lisp.h (LISPSYM_INITIALLY): New macro.
42716         (DEFINE_LISP_SYMBOL): Use it.
42718 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
42720         New primitives sxhash-eq, sxhash-eql
42722         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
42723         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
42724         Add sxhash-equal, sxhash-eq, sxhash-eql.
42725         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
42726         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
42728 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
42730         Teach Dired support parallel execution of commands on MS-Windows
42732         * lisp/dired-aux.el (dired-shell-stuff-it): Support
42733         parallel-in-background execution of commands on MS-Windows.
42734         Test 'w32-shell-dos-semantics' instead of the underlying OS
42735         when determining whether addition of 'wait' is needed.
42737 2016-04-08  Tino Calancha  <f92capac@gmail.com>
42739         Make 'dired-do-shell-command' wait for all background jobs
42741         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
42742         wait until all background jobs exit.  (Bug#23206).
42744 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
42746         Prefer 'font-lock-face to 'face in erc where appropriate
42748         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
42749         'font-lock-face to 'face where appropriate.
42750         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
42751         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
42752         * lisp/erc/erc-goodies.el (erc-controls-propertize)
42753         * lisp/erc/erc-stamp.el (erc-format-timestamp)
42754         * lisp/erc/erc-track.el (erc-faces-in)
42755         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
42756         (erc-display-command, erc-make-notice, erc-highlight-notice)
42757         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
42758         (erc-display-prompt, erc-display-message-highlight)
42759         (erc-log-irc-protocol): Ditto.
42761         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
42762         tests.
42764 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
42766         Add new keywords of Python 3.5
42768         Python 3.5, released in mid September 2015, introduced a few new
42769         keywords to better support asynchronous code, "async" and "await"
42770         in particular. See https://www.python.org/dev/peps/pep-0492/ for
42771         details. (Bug#21783)
42772         * lisp/progmodes/python.el (python-rx-constituents): Add async
42773         def/for/with as block-start and async def as defun.
42774         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
42775         def/for/with as keyword.
42776         * test/automated/python-tests.el (python-indent-after-async-block-1,
42777         python-indent-after-async-block-2, python-indent-after-async-block-3,
42778         python-nav-beginning-of-defun-3): New tests to test indentation and
42779         navigation for the async keyword.
42781 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
42783         Support completion of at-rules in SCSS mode
42785         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
42786         SCSS-specific at-rules.
42787         (css--at-ids): New buffer-local variable holding the list of at-rules
42788         for the current mode.
42789         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
42790         (scss-mode): Set `css--at-ids'.
42792 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
42794         Enable GCC warnings in developer builds
42796         However, do not fail; just issue the warnings.  Add an option
42797         --enable-gcc-warnings=warn-only to configure, to implement this.
42798         * INSTALL, etc/NEWS: Document this.
42799         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
42800         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
42801         Don’t treat --with-x-toolkit=no as a special case when configuring
42802         warnings.
42804 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42806         Inhibit querying for the encoding of the headers when resending
42808         * lisp/gnus/message.el (message-resend): Inhibit querying for
42809         the encoding of the headers when resending.
42811 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42813         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
42815         * src/buffer.c (Fgenerate_new_buffer_name):
42816         * src/filelock.c (get_boot_time):
42817         * src/minibuf.c (get_minibuffer):
42818         * src/process.c (make_process):
42819         * src/xdisp.c (ensure_echo_area_buffers):
42820         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
42821         when either will do.
42823 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
42825         Allow URL using HTTPS proxies using CONNECT
42827         * lisp/url/url-http.el (url-http-find-free-connection): Allow
42828         using proxies (bug#11788).
42829         (url-http-end-of-document-sentinel): Ditto.
42830         (url-http): The protocol may change from http to https and
42831         vice versa.
42832         (url-https-proxy-connect): Allow using CONNECT proxies for https.
42834 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42836         New C macro AUTO_STRING_WITH_LEN
42838         Put a bit less pressure on the garbage collector by defining a
42839         macro that is like AUTO_STRING but also allows null bytes in strings,
42840         and by extending AUTO_STRING to work with any unibyte string.
42841         * src/alloc.c (verify_ascii): Remove; all uses removed.
42842         AUTO_STRING can now be used on non-ASCII unibyte strings.
42843         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
42844         (AUTO_STRING_WITH_LEN): New macro.
42845         * src/coding.c (from_unicode_buffer):
42846         * src/editfns.c (format_time_string):
42847         * src/emacs-module.c (module_make_string, module_format_fun_env):
42848         * src/fileio.c (Fexpand_file_name):
42849         * src/font.c (font_parse_family_registry):
42850         * src/ftfont.c (ftfont_get_charset):
42851         * src/keymap.c (silly_event_symbol_error):
42852         * src/menu.c (single_menu_item):
42853         * src/sysdep.c (system_process_attributes):
42854         Use AUTO_STRING_WITH_LEN if possible.
42855         * src/emacs-module.c (module_make_function):
42856         * src/fileio.c (report_file_errno, report_file_notify_error):
42857         * src/fns.c (Flocale_info):
42858         * src/sysdep.c (system_process_attributes):
42859         Use AUTO_STRING if possible.  This is doable more often now
42860         that AUTO_STRING works on any unibyte string.
42862 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42864         Port redirect-debugging-output to MS-Windows
42866         Suggested by Eli Zaretskii in:
42867         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
42868         * src/print.c [WINDOWSNT]: Include sys/socket.h.
42869         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
42871 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42873         Port redirect-debugging-output to non-GNU/Linux
42875         Problem reported by Kylie McClain for musl in:
42876         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
42877         * etc/DEBUG, etc/NEWS: Mention this.
42878         * src/callproc.c (child_setup) [!MSDOS]:
42879         * src/dispnew.c (init_display):
42880         * src/emacs.c (main, Fdaemon_initialized):
42881         * src/minibuf.c (read_minibuf_noninteractive):
42882         * src/regex.c (xmalloc, xrealloc):
42883         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
42884         to make file-descriptor manipulation easier to follow.
42885         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
42886         now that we make sure stdin, stdout and stderr are open.  All uses
42887         removed.
42888         (main): Make sure standard FDs are OK.  Prefer symbolic names like
42889         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
42890         * src/lisp.h (init_standard_fds): New decl.
42891         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
42892         Remove; no longer needed.
42893         (Fredirect_debugging_output): Define on all platforms, not just
42894         GNU/Linux.  Redirect file descriptor, not stream, so that the code
42895         works even if stderr is not an lvalue.  Report an error if the
42896         file arg is neither a string nor nil.
42897         (syms_of_print): Always define redirect-debugging-output.
42898         * src/sysdep.c (force_open, init_standard_fds): New functions.
42900 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42902         Spelling fixes
42904 2016-04-03  John Wiegley  <johnw@newartisans.com>
42906         Revert "Add `r'/`l' grep command history commands"
42908         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
42910 2016-04-03  John Wiegley  <johnw@newartisans.com>
42912         Revert "Restore the point in grep buffers when traversing the history"
42914         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
42916 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42918         Merge from origin/emacs-25
42920         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
42922 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42924         Merge from origin/emacs-25
42926         b787d55 More format-time-string change fixups
42927         13c8f29 make-xwidget unused arg cleanup
42928         36e05f0 Remove unused arguments from make-xwidget
42929         1042217 Document incompatible changes in 'format-time-string'
42930         7228eb8 Improve documentation of byte-code objects
42931         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
42932         17b5152 Improve vc-diff with Git backend
42933         c28f87a (js--continued-expression-p): Special-case unary plus and minus
42934         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
42935         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
42936         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
42937         a3daa34 Teach M-x disassemble a default argument.
42938         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
42939         df441b3 Fix OS X specific settings in tramp-tests
42940         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
42942         # Conflicts:
42943         #       lisp/net/tramp-sh.el
42944         #       lisp/progmodes/cc-engine.el
42946 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42948         Restore the point in grep buffers when traversing the history
42950         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
42951         point to a specific place after finishing the grep command.
42952         (grep-mode): Use it to restore point after traversing the history.
42953         (grep--history-point): New internal variable.
42954         (grep--save-history, grep-forward-history): Use it to restore
42955         the point.
42957 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42959         Add `r'/`l' grep command history commands
42961         * doc/emacs/building.texi (Grep Searching): Mention the
42962         `r'/`l' commands.
42964         * lisp/progmodes/grep.el (grep-forward-history): New command.
42965         (grep-backward-history): Ditto.
42966         (grep--save-buffers): New function.
42967         (grep): Use it to record the history.
42968         (grep--command-history, grep--history-inhibit)
42969         (grep--history-place): New internal variables for the grep
42970         history (bug#22627).
42972 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42974         Fix Bug#23186, again
42976         * lisp/net/tramp.el (tramp-encoding-shell)
42977         (tramp-encoding-command-switch)
42978         (tramp-encoding-command-interactive): Check for
42979         `w32-shell-name'.  (Bug#23186)
42981 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42983         Fix Bug#23186
42985         * lisp/net/tramp.el (tramp-encoding-command-switch)
42986         (tramp-encoding-command-interactive):
42987         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
42988         `tramp-encoding-shell' could be nil.  (Bug#23186)
42990 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
42992         Fix Bug#22145
42994         * lisp/net/tramp-cache.el (tramp-get-connection-property)
42995         (tramp-set-connection-property, tramp-connection-property-p)
42996         (tramp-flush-connection-property): Improve docstring.
42998         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
43000         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
43002         * test/automated/tramp-tests.el (tramp--test-utf8):
43003         Improve settings of coding systems.  (Bug#22145)
43005 2016-04-02  John Wiegley  <johnw@newartisans.com>
43007         Merge from origin/emacs-25
43009         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
43010         9034c50 * doc/man/emacsclient.1: Document +line:column option.
43011         06495c9 Fix rare problems with echo-area display and multiple frames
43012         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
43014 2016-04-02  John Wiegley  <johnw@newartisans.com>
43016         Merge from origin/emacs-25
43018         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
43019         c8b868b Don't start the 'midnight' timer twice
43020         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
43021         e5c17f4 Fix todo-mode category movement
43022         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
43023         cf40f38 Ignore non-nil. non-cons values of unread-command-events
43024         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
43025         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
43026         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
43027         3a13472 Fix map-put and map-delete for alists (Bug#23105)
43028         422c3da Minor copyedits of documentation for temporary displays
43029         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
43030         f14d463 Minor doc string fixes in replace.el
43031         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
43032         44782de Fix display of Indic scripts
43033         326c64f Fix splash screen display at startup
43034         7ab2a97 ; In NEWS mention new display of minibuffer completions window
43035         a1cd84c Describe temporary displays in Emacs manual
43036         5ec1056 Avoid stray As next to IDLW icons
43037         45577d5 Avoid GTK 3 crash with icons and masks
43038         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
43039         077b78c Define make_save_ptr_ptr unconditionally
43040         20a1003 Preserve current buffer when popping up TTY menus
43041         7eba90c Improve font selection by family on MS-Windows
43042         73d213f Comint, term, and compile now set EMACS
43043         9524ec5 Ignore more merges when generating ChangeLog
43044         ad250f2 Sync with gnulib
43045         c0165ea Resurrect GNUS-NEWS autogeneration
43046         1e5327c ; Backport ChangeLog.2 fixes from master
43047         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
43048         38a43f1 Fix bug in displaying header line with a box face
43049         91e6676 Fix an Isearch var to be a string (Bug#23038)
43050         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
43051         8a35f83 Render empty <ul><li><ul> correctly
43052         d8b2ce5 Ignore invalid base64 encoded embedded images
43053         52ba24b Fix <p> and <div> newlines with or without <li> in shr
43054         b8ea08b Avoid errors in 'newline'
43055         fc3cd53 Fix Bug#23032
43056         dd2737b Adjudicate review comments in abbrevs.texi
43057         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
43058         413e73b ; Small theme additions
43059         cd950da Honor prefix arg in doc-view-next-line-or-next-page
43060         ed909c0 ; Spelling fixes
43061         6da3a6d Port to strict C99 offsetof
43062         de7601f Port to GTK with strict C11 compiler
43063         658aa2d Port to GTK with strict C99 compiler
43064         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
43065         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
43066         dca240a Suppress some Tramp tests for OSX, do not merge with master
43067         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
43068         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
43069         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
43070         9ab03f2 ; Auto-commit of loaddefs files.
43071         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
43072         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
43073         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
43074         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
43075         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
43076         d6d164f Avoid segfaults due to frame image cache being absent
43077         bc7f6f6 Improve documentation of glyphless-character display
43078         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
43079         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
43080         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
43081         2036be4 Fix Ruby's operator precedence
43082         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
43083         7950e1d Port to clang 3.7.0 on x86-64
43084         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
43085         ba33b7c Sync with gnulib
43086         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
43087         dbfbedd Do not tokenize a comment before continuation as ';'
43088         0403620 Don't misindent arguments of a method call inside continuation
43089         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
43090         8475f3d ASCII-only etc/NEWS etc.
43091         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
43092         0ce37ea Fix Isearch prompt when invoked with an argument
43093         f3033d4 Fix a typo in the Emacs manual
43094         4235d2d Curved quotes in etc/NEWS etc.
43095         26b56dc Fix some single quotes in documentation
43096         80ec484 Make lisp-completion-at-point's argument optional
43097         9d463ae Tweak the left precedence of '=>'
43098         5b705bc Indent '.' relative to the first sibling expression
43099         04f5525 Make '.' associative, for easier sexp navigation
43100         ba24c99 Revert "Simplify "Visit New File" to "New File""
43102 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43104         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
43106         Use #' to quote functions.
43107         (erc-server-delayed-reconnect): Remove unused arg `event'.
43108         (erc-process-sentinel-2): Adjust accordingly.
43109         Don't pass `err' to condition-case if we don't use it.
43110         (define-erc-response-handler): Use add-hook rather than add-to-list.
43111         (NICK): Use cl-pushnew rather than add-to-list.
43112         (331): Remove unused var `topic'.
43113         (352): Remove unused var `hopcount'.
43115 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
43117         Support macros in 'func-arity'
43119         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
43121 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
43123         Fix compilation of Cygwin w32 port
43125         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
43126         initialize and free the notification set if compiling with
43127         w32notify feature.
43129 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
43131         Fix resize incompatibility with GTK+ master
43133         Problem reported by Matthias Clasen (Bug#23144).
43134         * src/xterm.c (handle_one_xevent) [USE_GTK]:
43135         Do not call xg_frame_resized.
43137 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
43139         Fix check for subscript errors in module calls
43141         * src/emacs-module.c (check_vec_index): New function.
43142         (module_vec_set, module_vec_get): Use it instead of a
43143         not-strict-enough check.
43145 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
43147         Support completion of bang-rules in CSS mode
43149         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
43150         holding the list of bang-rules for the current mode.
43151         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
43152         instead of computing them.
43153         (css--complete-bang-rule): New function for completing a bang-rule.
43154         (css-completion-at-point): Add support for completing bang-rules.
43155         (scss-font-lock-keywords): Change from a variable to a function in
43156         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
43157         changed.
43158         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
43160 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
43162         Add HTML4 tags to HTML mode
43164         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
43165         (html-tag-help): Add short descriptions of those tags.
43167 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
43169         Pacify --enable-gcc-warnings for buffer-hash etc.
43171         * src/fns.c (make_digest_string): Now static.
43172         (secure_hash): Omit unused local.
43174 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
43176         Add support for 7z archives
43178         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
43179           also work with 7z archives.
43181         The shell command should produce a single extracted directory named
43182         after the archive's name.
43184         In case the extracted directory exists, all files will be overwritten
43185         without a prompt. This matches the expected behavior with the "tar.gz"
43186         archives.
43188 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
43190         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
43192 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
43194         Fix typo in network-stream-tests.el
43196         * test/lisp/net/network-stream-tests.el
43197         (connect-to-tls-ipv6-nowait): Fix typo.
43199 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
43201         New function seq-sort-by in seq.el
43203         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
43204         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
43205         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
43207 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43209         Mention the `M-q' changes
43211 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43213         Have `M-q' not mark buffers are changed when they haven't
43215         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
43216         to avoid marking buffers as changed when they haven't.
43218 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43220         Add a new function `buffer-hash'
43222         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
43224         * src/fns.c (Fbuffer_hash): New function.
43225         (make_digest_string): Refactored out into its own function.
43226         (secure_hash): Use it.
43228         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
43230 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
43232         Rename C names to match Lisp symbols better
43234         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
43235         which fixed a bug where the C name for a symbol disagreed with the
43236         symbol name itself.  Fix other instances of disagreements that I found.
43237         Although this doesn’t fix a bug, it should make code easier to follow.
43238         The remaining disagreements are idiosyncratic: Qminus, Qplus,
43239         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
43240         All uses changed.
43241         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
43242         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
43243         (QCsession): Rename from QCdbus_session_bus.
43244         (QCtimeout): Rename from QCdbus_timeout.
43245         (QCbyte): Rename from QCdbus_type_byte.
43246         (QCboolean): Rename from QCdbus_type_boolean.
43247         (QCint16): Rename from QCdbus_type_int16.
43248         (QCuint16): Rename from QCdbus_type_uint16.
43249         (QCint32): Rename from QCdbus_type_int32.
43250         (QCuint32): Rename from QCdbus_type_uint32.
43251         (QCint64): Rename from QCdbus_type_int64.
43252         (QCuint64): Rename from QCdbus_type_uint64.
43253         (QCdouble): Rename from QCdbus_type_double.
43254         (QCstring): Rename from QCdbus_type_string.
43255         (QCobject_path): Rename from QCdbus_type_object_path.
43256         (QCsignature): Rename from QCdbus_type_signature.
43257         (QCunix_fd): Rename from QCdbus_type_unix_fd.
43258         (QCarray): Rename from QCdbus_type_array.
43259         (QCvariant): Rename from QCdbus_type_variant.
43260         (QCstruct): Rename from QCdbus_type_struct.
43261         (QCdict_entry): Rename from QCdbus_type_dict_entry.
43262         (QCserial): Rename from QCdbus_registered_serial.
43263         (QCmethod): Rename from QCdbus_registered_method.
43264         (QCsignal): Rename from QCdbus_registered_signal.
43265         * src/emacs-module.c (Qinternal__module_call):
43266         Rename from Qinternal_module_call.
43267         * src/frame.c (Qwindow__pixel_to_total):
43268         Rename from Qwindow_pixel_to_total.
43269         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
43270         (QCpriority): Rename from QCgnutls_bootprop_priority.
43271         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
43272         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
43273         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
43274         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
43275         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
43276         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
43277         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
43278         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
43279         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
43280         (Qgnutls): Rename from Qgnutls_dll.
43281         (Qlibxml2): Rename from Qlibxml2_dll.
43282         (Qzlib): Rename from Qzlib_dll.
43283         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
43284         * src/window.c (Qwindow__resize_root_window):
43285         Rename from Qwindow_resize_root_window.
43286         (Qwindow__resize_root_window_vertically):
43287         Rename from Qwindow_resize_root_window_vertically.
43288         (Qwindow__sanitize_window_sizes):
43289         Rename from Qwindow_sanitize_window_sizes.
43290         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
43291         * src/xdisp.c (Qredisplay_internal_xC_functionx):
43292         Rename from Qredisplay_internal.
43293         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
43294         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
43296 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
43298         func-arity minor improvements
43300         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
43301         runtime test for integer argument, unless debugging.
43302         Use EMACS_INT for Emacs integers.
43303         * src/eval.c (Ffunc_arity): Omit unused locals.
43304         Avoid side effects in ‘if’ expr.
43305         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
43307 2016-03-26  John Wiegley  <johnw@newartisans.com>
43309         Restore the fix to bug#18527 from commit d6868025
43311 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
43313         Safely run window size change functions
43315         * src/window.c (run_window_size_change_functions): Use
43316         safe_call1 when running a size change function.
43317         (grow_mini_window, shrink_mini_window): Report error when
43318         minibuffer window cannot be resized.
43320 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
43322         Implement 'func-arity'
43324         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
43325         * src/bytecode.c (get_byte_code_arity): New function.
43326         * src/lisp.h (get_byte_code_arity): Add prototype.
43328         * doc/lispref/functions.texi (What Is a Function): Document
43329         'func-arity'.
43331         * etc/NEWS: Mention 'func-arity'.
43333         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
43335 2016-03-25  Alan Mackenzie  <acm@muc.de>
43337         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
43339         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
43340         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
43341         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
43342         c-noise-macro-with-parens-name-re.
43344         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
43345         cc-engine.el.
43347         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
43348         `c-make-noise-macro-regexps'.
43349         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
43351         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
43352         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
43354 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43356         (shr-insert): Respect non-breaking space in non-<pre> text
43358         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
43359         non-<pre> text.
43361 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43363         parse-times-string doc string clarification
43365         * lisp/calendar/parse-time.el (parse-time-string): Note that
43366         we accept RFC2822 strings.
43368 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
43370         Doc string fix
43372         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
43373         doc string and clean up code.
43375 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
43377         Cleanup file notification code in Tramp
43379         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
43380         Make `events' a list of symbols for "inotifywait".
43381         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
43382         Call `file-notify-handle-event' for better traces.
43383         (tramp-sh-inotifywait-process-filter): Check for expected events.
43384         Call `file-notify-handle-event' for better traces.
43386 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
43388         Adapt filenotify-tests.el according latest tests
43390         * test/lisp/filenotify-tests.el (file-notify-test02-events)
43391         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
43392         Remove superfluous `read-event' calls.
43393         (file-notify-test02-events): Expect different events under MS
43394         Windows 7 and 10.
43395         (file-notify-test04-file-validity): Move `file-notify-valid-p'
43396         check up.
43398 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
43400         Merge from origin/emacs-25
43402         ad250f2 Sync with gnulib
43403         c0165ea Resurrect GNUS-NEWS autogeneration
43405         # Conflicts:
43406         #       etc/GNUS-NEWS
43407         #       lisp/Makefile.in
43409 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
43411         Merge from origin/emacs-25
43413         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
43414         38a43f1 Fix bug in displaying header line with a box face
43416 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
43418         * etc/NEWS: Use straight quotes.
43420 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
43422         Support completion of attribute values in CSS mode
43424         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
43425         holding CSS identifiers and the values they can have.
43426         (css-property-ids): Compute dynamically from `css-property-alist'.
43427         (css-value-class-alist): New defconst holding property value classes
43428         and their values.
43429         (css--property-value-cache): New variable providing a cache for
43430         `css--property-values'.
43431         (css--value-class-lookup): New function for computing a list of values
43432         in a value class.
43433         (css--property-values): New function for computing a list of possible
43434         values for a CSS property.
43435         (css--complete-property-value): New function for completing a property
43436         value.
43437         (css-completion-at-point): Add support for completing property values.
43438         * test/lisp/textmodes/css-mode-tests.el: New file.
43440 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
43442         Sync with verilog-mode development tree.
43444         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
43445         verilog-speedbar-initialize): Automatically add verilog-mode
43446         extensions when in speedbar mode, bug1045, bug1046.  Reported by
43447         David Shleifman.
43448         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
43449         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
43450         (verilog-read-always-signals-recurse): Fix :: notation for
43451         auto-reset signals.  Reported by Andrew Jones.
43452         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
43453         grouping keywords, bug1002. Reported by Paul Sargent.
43454         (verilog-save-font-no-change-functions): Commentary and fix
43455         pre-Emacs 21 behavior.
43457 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43459         Compute a better commit message for merges
43461         Problem reported by David Engster in:
43462         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
43463         * admin/gitmerge.el (gitmerge-commit-message):
43464         Truncate the computed commit message to at most 72 characters per line.
43465         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
43466         merges; use the computed commit message instead.
43468 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43470         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
43472 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43474         Change do-not-merge pattern to "do not merge"
43476         This should avoid the problem we recently had with
43477         automatically-generated merge messages, while still letting people
43478         specify commits not to merge.
43479         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
43480         (gitmerge-highlight-skip-regexp): Fold case when searching
43481         for gitmerge-skip-regexp.
43483 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43485         Merge from origin/emacs-25
43487         91e6676 Fix an Isearch var to be a string (Bug#23038)
43488         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
43490 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43492         -
43494         -
43496 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43498         Keep "merge" commits by default in gitmerge
43500         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
43501         causes false positives.  See:
43502         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
43504 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
43506         Assume NON_BLOCKING_CONNECT (Bug#22946)
43508         * lisp/proced.el (proced-signal-list): Omit comment about
43509         obsolete systems that do not support POSIX 1003.1-2001 signals.
43510         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
43511         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
43512         (connect_network_socket): Assume EINPROGRESS is defined,
43513         as that’s portable too now.
43514         (Fmake_network_process): Use bool for boolean.
43516 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43518         Fix problems caused by new implementation of sub-word mode
43520         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
43521         New functions.
43522         (word-move-empty-char-table): New variable.
43524         * etc/NEWS: Mention 'forward-word-strictly' and
43525         'backward-word-strictly'.
43527         * doc/lispref/positions.texi (Word Motion): Document
43528         'find-word-boundary-function-table', 'forward-word-strictly', and
43529         'backward-word-strictly'.  (Bug#22560)
43531         * src/syntax.c (syms_of_syntax)
43532         <find-word-boundary-function-table>: Doc fix.
43534         * lisp/wdired.el (wdired-xcase-word):
43535         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
43536         (texinfo-copy-section-title, texinfo-start-menu-description)
43537         (texinfo-copy-menu-title, texinfo-specific-section-type)
43538         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
43539         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
43540         (texinfo-insert-@end):
43541         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
43542         (texinfo-anchor, texinfo-multitable-widths)
43543         (texinfo-multitable-item):
43544         * lisp/textmodes/tex-mode.el (latex-env-before-change):
43545         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
43546         * lisp/skeleton.el (skeleton-insert):
43547         * lisp/simple.el (count-words):
43548         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
43549         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
43550         (vhdl-update-sensitivity-list, vhdl-template-block)
43551         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
43552         (vhdl-template-default-indent, vhdl-template-for-loop)
43553         (vhdl-template-if-then-use, vhdl-template-bare-loop)
43554         (vhdl-template-nature, vhdl-template-procedural)
43555         (vhdl-template-process, vhdl-template-selected-signal-asst)
43556         (vhdl-template-type, vhdl-template-variable)
43557         (vhdl-template-while-loop, vhdl-beginning-of-block)
43558         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
43559         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
43560         (verilog-forward-sexp, verilog-beg-of-statement)
43561         (verilog-set-auto-endcomments, verilog-backward-token)
43562         (verilog-do-indent):
43563         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
43564         (vera-indent-block-closing):
43565         * lisp/progmodes/simula.el (simula-context)
43566         (simula-backward-up-level, simula-forward-down-level)
43567         (simula-previous-statement, simula-next-statement)
43568         (simula-skip-comment-backward, simula-calculate-indent)
43569         (simula-find-if, simula-electric-keyword):
43570         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
43571         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
43572         (ruby-smie--forward-token, ruby-smie--backward-token)
43573         (ruby-singleton-class-p, ruby-calculate-indent)
43574         (ruby-forward-sexp, ruby-backward-sexp):
43575         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
43576         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
43577         (perl-syntax-propertize-special-constructs)
43578         (perl-backward-to-start-of-continued-exp):
43579         * lisp/progmodes/pascal.el (pascal-indent-declaration):
43580         * lisp/progmodes/octave.el (octave-function-file-p):
43581         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
43582         * lisp/progmodes/js.el (js--forward-function-decl):
43583         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
43584         (idlwave-beginning-of-block, idlwave-end-of-block)
43585         (idlwave-block-jump-out, idlwave-determine-class):
43586         * lisp/progmodes/icon.el (icon-is-continuation-line)
43587         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
43588         * lisp/progmodes/hideif.el (hide-ifdef-define):
43589         * lisp/progmodes/f90.el (f90-change-keywords):
43590         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
43591         (cperl-linefeed, cperl-electric-terminator)
43592         (cperl-find-pods-heres, cperl-fix-line-spacing)
43593         (cperl-invert-if-unless):
43594         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
43595         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
43596         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
43597         (ada-adjust-case-skeleton, ada-create-case-exception)
43598         (ada-create-case-exception-substring)
43599         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
43600         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
43601         (ada-get-indent-if, ada-get-indent-block-start)
43602         (ada-get-indent-loop, ada-get-indent-type)
43603         (ada-search-prev-end-stmt, ada-check-defun-name)
43604         (ada-goto-decl-start, ada-goto-matching-start)
43605         (ada-goto-matching-end, ada-looking-at-semi-or)
43606         (ada-looking-at-semi-private, ada-in-paramlist-p)
43607         (ada-search-ignore-complex-boolean, ada-move-to-start)
43608         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
43609         * lisp/net/quickurl.el (quickurl-grab-url):
43610         * lisp/mail/sendmail.el (mail-do-fcc):
43611         * lisp/mail/rmail.el (rmail-resend):
43612         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
43613         * lisp/mail/mail-extr.el (mail-extract-address-components):
43614         * lisp/json.el (json-read-keyword):
43615         * lisp/files.el (insert-directory):
43616         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
43617         * lisp/completion.el (symbol-under-point, symbol-before-point)
43618         (symbol-before-point-for-complete, next-cdabbrev)
43619         (add-completions-from-c-buffer):
43620         * lisp/cedet/semantic/texi.el (semantic-up-context)
43621         (semantic-beginning-of-context):
43622         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
43623         use 'forward-word-strictly' and 'backward-word-strictly' instead
43624         of 'forward-word' and 'backward-word'.
43626         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
43627         which was inadvertently lost by merge commit
43628         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
43630 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
43632         * etc/TODO: Minor quoting and grammar fixes.
43634         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
43635         which was inadvertently lost by merge commit
43636         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
43638 2016-03-21  Alan Mackenzie  <acm@muc.de>
43640         Don't confuse "::" with ":" when trying to parse member initializers.
43642         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
43643         more robustly for ":" token when searching backwards for it.
43645         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
43646         language variable.
43648         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
43649         which was inadvertently lost by merge commit
43650         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43652 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43654         Ensure positive number of glyphs for margins of positive width
43656         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
43657         positive value when a non-zero width of the marginal area was
43658         requested.  (Bug#22356)
43660         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
43661         which was inadvertently lost by merge commit
43662         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43664 2016-03-21  Alan Mackenzie  <acm@muc.de>
43666         In comment-dwim with style `extra-line', respect indent-tabs-mode.
43668         This fixes bug #22369.
43670         * lisp/newcomment.el (comment-make-bol-ws): New function.
43671         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
43673         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
43674         which was inadvertently lost by merge commit
43675         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43677 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43679         Merge doc fixes for 'random' lost in previous merge
43681         [This reapplies part of commit
43682         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
43683         which was inadvertently lost by merge commit
43684         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43685         (Bug#22202)
43687 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
43689         Unhide the --no-line-directive option to 'etags'
43691         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
43692         option.  (Bug#22306)
43694         * doc/man/etags.1: Document the --no-line-directive option.
43696         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
43697         which was inadvertently lost by merge commit
43698         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43700 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
43702         Fix picture-mode wrt double-width characters
43704         * lisp/textmodes/picture.el (picture-insert): Check the width of
43705         the character being replaced, not just that of the replacement.
43706         (Bug#1808)
43708         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
43709         which was inadvertently lost by merge commit
43710         7823745acbe9b87eea2db4ef434e379fc903ec35.]
43712 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
43714         Resurrect earlier fix of resize_frame_windows
43716         * src/window.c (resize_frame_windows): Resurrect earlier fix for
43717         calculating the number of columns of the minibuffer window which
43718         was lost in subsequent merges.
43720 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43722         Move the cert files to the data directory
43724 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43726         Further empty <li> tweaks
43728         * lisp/net/shr.el (shr-tag-li): When showing several empty
43729         <li> elements, ensure that they really get inserted on a new line.
43731 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43733         Don't remove too much white space at the end of documents
43735         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
43736         remove too much white space -- leave it on the last line (in
43737         case there's a background color).
43739 2016-03-20  Alan Mackenzie  <acm@muc.de>
43741         Amend parse-partial-sexp correctly to handle two character comment delimiters
43743         Do this by adding a new field to the parser state: the syntax of the last
43744         character scanned, should that be the first char of a (potential) two char
43745         construct, nil otherwise.
43746         This should make the parser state complete.
43747         Also document element 9 of the parser state.  Also refactor the code a bit.
43749         * src/syntax.c (struct lisp_parse_state): Add a new field.
43750         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
43751         (internalize_parse_state): New function, extracted from scan_sexps_forward.
43752         (back_comment): Call internalize_parse_state.
43753         (forw_comment): Return the syntax of the last character scanned to the caller
43754         when that character might be the first of a two character construct.
43755         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
43756         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
43757         information via the address parameter `state'.  Remove the code which converts
43758         from external to internal form of `state'.  Access buffer contents only from
43759         `from' onwards.  Reformulate code at the top of the main loop correctly to
43760         recognize comment openers when starting in the middle of one.  Call
43761         forw_comment with extra argument (for return of syntax value of possible first
43762         char of a two char construct).
43763         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
43764         doc string.  Clarify the doc string in general.  Call
43765         internalize_parse_state.  Take account of the new elements when consing up the
43766         output parser state.
43768         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
43769         element 10.  Minor wording corrections (remove reference to "trivial
43770         cases").
43771         (Low Level Parsing): Minor corrections.
43773         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
43774         state.
43776 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43778         Allow the shr test files to have trailing blank space.
43780         * .gitattributes: Allow the shr test files to have trailing
43781         blank space.
43783 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43785         Add tests for empty <ul><li>
43787 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
43789         * src/alloc.c (purecopy): Use AUTO_STRING.
43791 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43793         Ignore invalid base64 encoded embedded images
43795         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
43796         encoded embedded images (bug#22928).
43798 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43800         Render empty <ul><li><ul> correctly
43802         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
43803         correctly (bug#22964).
43805 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43807         Fix <p> and <div> newlines with or without <li> in shr
43809         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
43810         a <li>, if we are, and don't insert newlines there.
43811         (shr-ensure-paragraph): When mixing newlines and paragraph
43812         ensurements, don't insert too many blank lines.
43813         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
43814         new line.
43816 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43818         Add more shr HTML rendering tests
43820         Add a test harness for shr HTML rendering and one test
43822 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43824         Remove code left over from when overlays were used for padding
43826         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
43827         (shr-remove-trailing-whitespace): Ditto.
43828         (shr-insert-document): Don't call them.
43830 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43832         Remove trailing blank lines in shr
43834         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
43835         (shr-insert-document): Use it to remove trailing blank lines
43836         at the end of documents, since these never seem to be very useful.
43838 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43840         Don't bug out on nil `patch-buf' arguments
43842         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
43843         `patch-buf' arguments.
43845 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
43847         Add a Catalan language environment
43849         * lisp/international/mule-cmds.el (locale-language-names): Map locale
43850           language name `ca' to language environment `Catalan'.
43852         * lisp/language/european.el: Add definition of language
43853         environment for the Catalan language.
43855         * lisp/leim/quail/latin-pre.el: Add quail rule to the
43856         `catalan-prefix' input method to support input of middle dot
43857         characters through composition (bug#18279).
43859 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43861         No need to block input when reading directories
43863         * src/dired.c: Don’t include blockinput.h.
43864         (open_directory, directory_files_internal_unwind)
43865         (directory_files_internal, file_attributes):
43866         Don’t block input here, as the reasons for blocking input should
43867         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
43869 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
43871         * lisp/vc/vc-hooks.el: Fix typo
43873 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
43875         Improve w32notify notifications
43877         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
43878         (struct notification): 'terminate' is now a HANDLE.
43879         (send_notifications): Argument is now a pointer to a
43880         notification.  Don't loop waiting for the notification to be
43881         acknowledged by the main thread; instead, just add the
43882         notification to the linked list of notifications waiting to be
43883         acknowledged.
43884         (watch_end): Don't close the directory handle.
43885         (watch_completion): Allocate a new notification structure to be
43886         added to the notifications set.  Call ReadDirectoryChangesW
43887         immediately after adding the new notification, and before sending
43888         a message to the main thread about them.
43889         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
43890         call it just once -- it will be called again in watch_completion.
43891         Loop waiting for the main thread's indication to terminate.
43892         (start_watching): Create the event to be used to indicate to the
43893         worker thread that its should terminate.
43894         (remove_watch): Indicate to the worker thread that it should
43895         terminate.
43896         * src/w32term.c (queue_notifications): Loop over all the
43897         notifications in the linked list, processing all of them in one
43898         go.
43899         * src/w32inevt.c (handle_file_notifications): Loop over all the
43900         notifications in the linked list.
43901         * src/w32xfns.c (init_crit): Initialize the linked list of file
43902         notifications.
43903         (delete_crit): Free the linked list of file notifications,
43904         including any unprocessed notifications left in it.
43905         * src/w32term.h (struct notifications_se): New struct.
43907         * test/lisp/filenotify-tests.el (file-notify-test02-events)
43908         (file-notify-test05-dir-validity): Add read-event calls to
43909         facilitate event recognition by the main thread in batch mode.
43911 2016-03-17  Sam Steingold  <sds@gnu.org>
43913         make `vc-log-operation' buffer local to allow multiple simultaneous editing
43915 2016-03-17  Glenn Morris  <rgm@gnu.org>
43917         Simplify some rococo Gnus code that loads or tests for other libraries.
43919         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
43920         * lisp/gnus/mml-smime.el (epg): Simply require it.
43921         (mml-smime-use): Simplify the default.  Doc fix.
43922         * lisp/gnus/mml2015.el (epg-config): Require it.
43923         (mml2015-use): Simplify the default.
43924         * lisp/gnus/smime.el (password-cache): Simply require it.
43925         (password-read-and-add): Remove declaration.
43927 2016-03-16  Glenn Morris  <rgm@gnu.org>
43929         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
43931 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
43932             Alex Harsanyi  <AlexHarsanyi@gmail.com>
43934         Sync with soap-client repository, version 3.1.1
43936         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
43937         message.
43938         (soap-find-port): Delete trailing whitespace.
43939         (soap-find-operation): Fix documentation and rename parameter.
43940         (soap-find-port): Likewise.
43941         (soap-operation-arity): Likewise.
43943         * lisp/net/soap-client.el: Update copyright years.
43944         (soap-warning): Fix docstring quoting.
43945         (soap-decode-date-time): Likewise.
43946         (soap-validate-xs-simple-type): Remove tabs for indentation.
43947         * lisp/net/soap-inspect.el: Update copyright years.
43949         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
43950         assume xsd:base64Binary values are UTF-8 strings.
43951         (soap-decode-xs-basic-type): Likewise.
43952         (soap-invoke): Document xsd:base64Binary handling.
43954         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
43955         (soap-operation-arity): new defuns
43956         (soap-invoke-internal): use soap-find-port, soap-find-operation.
43958 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
43960         Merge from gnulib
43962         This incorporates:
43963         2016-03-15 std-gnu11: improve clang support
43964         * m4/std-gnu11.m4: Copy from gnulib.
43966 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43968         Disable MOVE more for Dovecot
43970         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
43971         disable MOVE when expirying.
43972         (nnimap-split-incoming-mail): And when splitting mail.
43974 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43976         Don't use MOVE on Dovecot
43978         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
43979         MOVE on Dovecot, since it's broken in many versions.
43980         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
43982 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
43984         Improve diff hunk headers when maintaining Emacs
43986         * .gitattributes: Improve diff hunk header support for makefiles,
43987         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
43988         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
43989         somewhere (sometimes just in test cases).
43990         * autogen.sh: Add regexes for makefiles and shell scripts.
43992 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
43994         Update handling of <bdo> per Unicode 9.0
43996         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
43997         Unicode 9.0 changes in UAX#9, paragraph 2.7.
43999 2016-03-11  John Wiegley  <johnw@newartisans.com>
44001         Merge from origin/emacs-25
44003         facb5e2 Update Emacs manual section related to character folding
44004         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
44005         f8df21b Update admin/notes/unicode
44006         950be68 Add symref-filepattern entries for c?perl-mode
44007         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
44008         985dacf ; NEWS update for the last change in etags
44009         741a6f8 Sync with gnulib
44010         7352c6c Rework C source files to avoid ^(
44011         a589e9a By default, etags produces unqualified Perl tag names
44012         72c7438 Indent methods with keyword names correctly
44013         28532a9 Propertize character literals and special global variables
44014                 differently
44015         a7d6f39 ; Fix last change in NEWS
44016         83b2a20 Change how /etc/NEWS presents character folding
44017         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
44018                 off by default""
44019         711ca36 Properly handle lambda as read function (bug 22961)
44020         1b9d616 Propertize operator symbol names with symbol syntax class
44021         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
44022         366ec77 Allow using the left shift operator without spaces on both sides
44023         02bf7cc Properly handle unquoting in wdired (bug 22938)
44024         16cf469 ; Spelling fix and tighten up comment
44025         f50bc04 Allow splat operator before percent literal
44026         991c801 Don't apply the return value of goto-char as syntax class
44027         6e63b3e Guard against nested percent literals
44028         066f3bc Recognize iuwu-mod after an escaped newline
44029         6f7a57c Fix symbolic mode string conversion for s and t
44030         50b9826 Update 'ucs-names' database
44031         993b2fb Improve doc string of 'shell-command'
44032         b71c717 Make the code in movemail_strftime more general
44033         cc057e4 Speed up redisplay of binary files with long series of nulls
44034         e51b27e Remove the highlighting support for quoting 'like this' inside
44035                 Lisp docstrings
44036         b1abce1 Restore leading space in movemail pop output
44037         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
44038         dc9d837 Don't misindent computed property generator methods
44039         7923112 Fix mbox files produced by movemail on MS-Windows
44040         c45a1ca doc string file descriptor exhaustion fix
44041         265141b Fix Bug#22814
44043 2016-03-11  John Wiegley  <johnw@newartisans.com>
44045         Merge from origin/emacs-25
44047         620951f Fix previous fix of enlarge-/shrink-window
44048         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
44049         66d2717 Complete temperature units in calc-convert-temperature
44050         dbb02bf Make sure to use case-sensitive search
44051         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
44052         100346a Add the missing test case for the previous patch
44053         5aba61e Use the correct dabbrev expansion
44055 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
44057         Remove compat code in Tramp
44059         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
44060         Remove compat code.
44062 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
44064         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
44066         Use #' for function names.
44067         (latex-complete-envnames): Include existing environments in
44068         current buffer.
44069         (latex-insert-block): Use latex-complete-envnames.
44070         (tildify-foreach-ignore-environments): Declare.
44072 2016-03-10  Alain Schneble  <a.s@realize.ch>
44074         Fix asynchronous TLS connections on MS-Windows
44076         * src/w32.c (sys_write): Don't switch the socket to blocking mode
44077         if the connection attempt is in progress.  Instead, return either
44078         EWOULDBLOCK immediately if the connection is in progress, or the
44079         error code produced by '_sys_wait_connect' if the connection
44080         failed.  Switching the socket to blocking mode was found to
44081         interfere with GnuTLS handshake.  (Bug#22789)
44083 2016-03-10  Alan Mackenzie  <acm@muc.de>
44085         Clarify the documentation of nested comments.
44087         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
44088         style are recognized inside nestable comments.
44089         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
44090         UNNESTED comments.
44092 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
44094         Add new function display-buffer-reuse-mode-window
44096         * lisp/window.el (display-buffer-reuse-mode-window): New function.
44097         * doc/lispref/windows.texi (Display Action Functions): Document it.
44099 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
44101         Minor fixes for getaddrinfo_a usage
44103         * src/process.c (Fdelete_process): Check gai_cancel return value.
44104         That way, there’s no need to invoke gai_error.  Check gai_suspend
44105         return value.
44106         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
44107         string.  Simplify call to connect_network_socket.
44108         (check_for_dns): Avoid unnecessary initialization of local.
44110 2016-03-09  Sam Steingold  <sds@gnu.org>
44112         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
44114         The former avoids a compiler warning, the latter fixes a bug whereas
44115         the variable is compiled as lexical instead of dynamic.
44117 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
44119         Pacify --enable-gcc-warnings
44121         * src/xfns.c (x_create_tip_frame): Omit unused local.
44122         (Fx_show_tip): Don’t jump over auto initialization.
44124 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
44126         Optionally reuse tooltip frames instead of deleting/recreating them.
44128         * src/frame.c (tooltip_reuse_hidden_frame): New option.
44129         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
44130         handling of dividers.
44131         (x_hide_tip): New function.
44132         (Fx_show_tip): Try to reuse old tooltip frame when
44133         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
44134         have not changed.  Insert STRING here instead of passing it to
44135         x_create_tip_frame.  Compute size of tooltip window with
44136         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
44137         padding tooltip window.
44138         (Fx_hide_tip): Call x_hide_tip.
44139         (Vw32_tooltip_extra_pixels): New variable.
44140         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
44141         value.  Fix doc-string.
44142         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
44143         make_frame with mini_p argument false.
44144         (x_hide_tip): New function.
44145         (Fx_show_tip): Try to reuse old tooltip frame when
44146         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
44147         have not changed.  Insert STRING here instead of passing it to
44148         x_create_tip_frame.  Compute size of tooltip window with
44149         Fwindow_text_pixel_size.
44150         (Fx_hide_tip): Call x_hide_tip.
44151         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
44152         customization entry.
44154 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
44156         Assume getaddrinfo in C code
44158         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
44159         All uses removed.
44160         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
44161         Say that port numbers can be integer strings.
44162         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
44163         (socket_connection): Assume HAVE_GETADDRINFO.
44164         * lisp/mpc.el (mpc--proc-connect):
44165         * lisp/net/network-stream.el (open-network-stream):
44166         It’s now OK to use integer strings as port numbers.
44167         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
44168         (Fmake_network_process): Assume HAVE_GETADDRINFO.
44170 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
44172         Remove support for IRIX
44174         The IRIX port wasn’t really working anyway, and the code was
44175         getting in the way of other changes (e.g., getaddrinfo fixes).
44176         IRIX’s supplier dropped support for IRIX in 2013.
44177         * admin/CPP-DEFINES:
44178         * configure.ac (opsys):
44179         * doc/lispref/os.texi (System Environment):
44180         * etc/MACHINES, etc/PROBLEMS:
44181         * lisp/find-dired.el (find-grep-options):
44182         * lisp/lpr.el (lpr-lp-system):
44183         * lisp/ls-lisp.el (ls-lisp-emulation):
44184         * lisp/mail/rmail.el (rmail-spool-directory):
44185         * lisp/net/net-utils.el (ping-program-options):
44186         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
44187         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
44188         * src/conf_post.h [IRIX6_5]:
44189         * src/emacs.c (Vsystem_type):
44190         * src/filelock.c (get_boot_time_1):
44191         * src/process.c (process_send_signal):
44192         * src/unexelf.c (unexec):
44193         Omit IRIX-specific code and/or documentation.
44194         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
44195         Remove.  All uses removed.
44196         * etc/NEWS: Document the change.
44198 2016-03-06  John Wiegley  <johnw@newartisans.com>
44200         Revert "Use colors in the VC mode lines"
44202         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
44204 2016-03-06  Ken Brown  <kbrown@cornell.edu>
44206         Fix Cygwin-w32 build
44208         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
44209         Define only if WINDOWSNT, and update all uses accordingly.
44210         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
44211         (remove_w32_kbdhook): Declare only if WINDOWSNT.
44212         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
44214 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
44216         Unbreak the MinGW64 build
44218         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
44219         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
44220         for the details.  Reported by Angelo Graziosi
44221         <angelo.graziosi@alice.it>.
44223 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
44225         Don't signal errors on E_AGAIN
44227         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
44228         error now that TLS is async.
44230 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
44232         Allow making TLS negotiation blocking
44234         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
44236         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
44237         :complete-negotiation, to specify that we want complete
44238         negotiation even if the socket is non-blocking.
44239         (gnutls_try_handshake): Complete negotiation if given that keyword.
44241         * src/process.h (L): Added gnutls_complete_negotiation_p.
44243 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
44245         Don't run ipv6 test on systems without ipv6
44247         * test/lisp/net/network-stream-tests.el
44248         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
44250 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
44252         Implement getaddrinfo fallback for MS-Windows
44254         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
44255         for more details.
44257         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
44258         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
44259         test program is not smart enough to auto-detect these.
44260         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
44261         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
44262         sys_getaddrinfo and sys_freeaddrinfo.
44264         * src/w32.c (init_winsock): Try loading getaddrinfo and
44265         freeaddrinfo from ws2_32.dll.
44266         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
44268         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
44269         and also ws2tcpip.h.
44270         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
44271         sys_getaddrinfo and sys_freeaddrinfo, respectively.
44272         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
44273         functions.
44275 2016-03-04  Glenn Morris  <rgm@gnu.org>
44277         * lisp/files.el: Fix recent typo.
44279         * lisp/subr.el (read-multiple-choice): Avoid free variable.
44281         * doc/lispref/files.texi (File Attributes): Fix typo.
44283 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
44285         Make the describe-key prompts clearer
44287         * lisp/help.el (describe-key-briefly): Make the prompt clearer
44288         (bug#14854).
44289         (describe-key): Ditto.
44291 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
44293         Allow scrolling while querying multiple choice
44295         * lisp/subr.el (read-multiple-choice): Allow scrolling the
44296         buffer while querying (bug#22827).
44298 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
44300         Add accessors for `file-attributes'
44302         * doc/lispref/files.texi (File Attributes): Mention the accessors.
44304         * lisp/files.el (file-attribute-type)
44305         (file-attribute-link-number, file-attribute-user-id)
44306         (file-attribute-group-id, file-attribute-access-time)
44307         (file-attribute-modification-time)
44308         (file-attribute-change-time, file-attribute-size)
44309         (file-attribute-modes, file-attribute-inode-number)
44310         (file-attribute-device-number): New functions.
44312         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
44314 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
44316         Fix Bug#22814
44318         * lisp/autorevert.el (global-auto-revert-mode): Do not set
44319         `auto-revert-use-notify' to nil.
44321         * etc/NEWS: Mention this.
44323         * etc/PROBLEMS: Remove problem Bug#22814.
44325         * src/kqueue.c: Include <sys/resource.h>.
44326         (Fkqueue_add_watch): Limit the number of used file descriptors.
44327         (Bug#22814)
44329         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
44330         (file-notify-test00-availability, file-notify-test01-add-watch)
44331         (file-notify-test02-events, file-notify-test06-many-events):
44332         Use #' read syntax for functions.
44333         (file-notify-test05-dir-validity)
44334         (file-notify-test06-many-events): Simplify directory creation.
44335         (file-notify-test09-sufficient-ressources): New test.
44337 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
44339         Fix insertion of edited servers in the dribble file
44341         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
44342         insert explicit newlines, because they're quoted (bug#22903).
44344 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
44346         Move cl-seq-tests to the right place after the merge
44348         Move cl-seq-tests to the right place after the merge
44350 2016-03-03  John Wiegley  <johnw@newartisans.com>
44352         Merge from origin/emacs-25
44354         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
44355         5cf7c39 authors.el updates
44356         a26f193 ; fix changelog entries
44357         fbc85c7 ; make change-history-commit
44358         06da00c Fix Bug#22859
44359         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
44360         1481029 Fix reordering of bidi text in an isolate inside an override
44361         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
44363 2016-03-03  John Wiegley  <johnw@newartisans.com>
44365         Merge from origin/emacs-25
44367         f5d1435 Fix targets in test/automated/Makefile.in
44369 2016-03-03  John Wiegley  <johnw@newartisans.com>
44371         Merge from origin/emacs-25
44373         b6d6304 Comment on last change to define-derived-mode
44375 2016-03-03  John Wiegley  <johnw@newartisans.com>
44377         Merge from origin/emacs-25
44379         cb1e3da Also allow setting the paragraph direction to nil
44380         bbe8a89 Made the new OS X visible bell more visible.
44382 2016-03-03  John Wiegley  <johnw@newartisans.com>
44384         Merge from origin/emacs-25
44386         aae436e Uncomment the next-error-function integration in xref
44387         5f0d096 Remove the word "valid", to avoid ambiguity
44389 2016-03-03  John Wiegley  <johnw@newartisans.com>
44391         Merge from origin/emacs-25
44393         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
44394         0d60bfc Fix ModelSim error parsing
44396 2016-03-03  John Wiegley  <johnw@newartisans.com>
44398         Merge from origin/emacs-25
44400         b13cab6 Add a eww command to toggle paragraph direction
44401         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
44402         9e078e5 Fix char signedness issue in bidi code
44403         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
44404         14060a9 Avoid inflooping in thing-at-point-looking-at
44405         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
44406                 indent change.
44407         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
44408         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
44409         d2dd614 Remove unneeded workaround in xftfont.c
44410         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
44411         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
44412         06a872b Fix redisplay on a TTY after 'make-frame'
44413         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
44414                 Fixes bug#5560.
44415         7d206fc Input method polish-slash should not use keyboard translation
44416         8be32cf Fix an assertion
44417         040e0d6 Fix 'toggle-save-place'
44418         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
44420 2016-03-03  John Wiegley  <johnw@newartisans.com>
44422         Merge from origin/emacs-25
44424         e6a3819 Update HISTORY section in readme for the NextStep interface.
44425         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
44426         7c81a0b Improve documentation of 'save-place-mode'
44427         cab3f0a Allocate glyph matrices for the initial frame
44428         e01c72f Fix white space in last checkin
44429         370eb67 Make `insert-pair' always leave the cursor where documented
44430         b594393 etc/NEWS: Mention the new second parameter to `package-install'
44432 2016-03-03  John Wiegley  <johnw@newartisans.com>
44434         Merge from origin/emacs-25
44436         bd58c13 Improve documentation of focus-related hooks
44437         00a4720 Further improve doc string of 'disable-point-adjustment'
44438         c582def Further adaptions in file-notify-tests.el for w32notify
44439         a1585e1 Don't bug out on localized dates in gnus-icalendar
44441 2016-03-03  John Wiegley  <johnw@newartisans.com>
44443         Merge from origin/emacs-25
44445         7bc4820 Make setf for frame-height/width work again
44447 2016-03-03  John Wiegley  <johnw@newartisans.com>
44449         Merge from origin/emacs-25
44451         6620944 (cl-union): Do not ignore :test argument when lists are equal.
44452         17dd3fb Add `isearch' to `basic-faces'
44453         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
44454         e72a26e Make find-tag-default-bounds more strict
44455         1bc0e0a Minor fixes in filenotify.el
44457 2016-03-02  Alain Schneble  <a.s@realize.ch>
44459         Fix issue of inserting images on some systems
44461         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
44462         to pass to shr-image-fetched, to indicate where to insert the
44463         image.  Fixes the issue introduced with commit
44464         80852f843e69b81618f29cfb9aa4b074946cb3c4
44465         (bug#22789).
44467 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
44469         Ensure TLS negotiation progress
44471         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
44472         number of retries so that we try for about a minute.
44474         * src/process.c (wait_reading_process_output): Ensure progress
44475         for DNS resolution and TLS negotiation.
44477 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44479         emacs-module.h slight simplification
44481         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
44482         * src/emacs-module.h: ... from here, as they don’t need to be public.
44483         (enum emacs_arity): Remove useless enum tag.  The enum value is
44484         used in ptrdiff_t contexts.
44486         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
44488 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44490         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
44492 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44494         emacs-module.c simplification and tuneup
44496         * src/emacs-module.c (CHECK_USER_PTR): New function.
44497         (module_get_user_ptr, module_set_user_ptr)
44498         (module_get_user_finalizer, module_set_user_finalizer): Use it.
44499         (module_make_global_ref, module_copy_string_contents)
44500         (module_make_string, module_vec_set, module_vec_get): Omit
44501         unnecessary runtime tests.  For example, vector sizes are always
44502         fixnums, so we don’t need to test that they are in fixnum range.
44504 2016-03-02  Philipp Stephani  <phst@google.com>
44506         Use standard checks whenever possible.
44508         This is possible in all functions where we catch signals anyway.
44510         * src/emacs-module.c (module_make_global_ref, module_funcall)
44511         (module_copy_string_contents, module_make_string): Use xsignal0
44512         and CHECK macros for argument checks.
44514 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44516         Deterministic build improvements
44518         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
44519         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
44520         and have its value be either empty or --no-build-details.
44521         All uses changed.  Change option to --disable-build-details.
44522         * doc/emacs/cmdargs.texi (Initial Options):
44523         Document --no-build-details.
44524         * doc/lispref/internals.texi (Building Emacs):
44525         * etc/NEWS:
44526         Document --disable-build-details.
44527         * doc/lispref/intro.texi (Version Info): Say that
44528         emacs-build-time can be nil.
44529         * lisp/erc/erc-compat.el (erc-emacs-build-time):
44530         Now nil if details are omitted.
44531         * lisp/erc/erc.el (erc-cmd-SV):
44532         * lisp/version.el (emacs-build-time):
44533         Now nil if no build details.
44534         (emacs-version):
44535         Output build time only if build details.
44536         * src/Makefile.in (BUILD_DETAILS): New macro.
44537         (temacs, bootstrap-emacs): Use it.
44538         * src/emacs.c (build_details): New var.
44539         (standard_args, main): Support --no-build-details.
44540         (Vdeterministic_dump): Remove; all uses replaced
44541         by !build_details.
44542         (syms_of_emacs): Set Vbuild_details to a boolean, not
44543         to a Lisp_Object.
44544         * src/lisp.h (build_details): New decl.
44545         * src/sysdep.c (init_system_name): When !build_details,
44546         set system-name to nil, not to "elided".
44548 2016-03-02  Philipp Stephani  <phst@google.com>
44550         Remove build system name from deterministic dumps
44552         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
44553         * lisp/version.el (emacs-build-time): Add a comment to make the
44554         build time deterministic if requested.
44555         (emacs-build-system): Make variable deterministic if requested.
44556         * src/emacs.c (main): Initialize `deterministic-dump' from the
44557         configuration option.
44558         (syms_of_emacs): New constant `deterministic-dump'.
44559         * src/sysdep.c (init_system_name): Use a constant
44560         if a deterministic dump is requested.
44562 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
44564         Remove buggy parse-time test
44566         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
44567         Remove the iso parse test, since it doesn't work.
44569 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44571         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
44573 2016-02-29  Glenn Morris  <rgm@gnu.org>
44575         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
44576         Experiment with setting to nil.
44578 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44580         Make the revert command in timer-list-mode work
44582         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
44583         command work.
44585 2016-02-29  Glenn Morris  <rgm@gnu.org>
44587         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
44588         Fix 6-week old merge error.
44590         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
44591         Ensure timestamps.
44593         * lisp/emacs-lisp/package.el (package-generate-autoloads):
44594         Disable timestamps.
44596 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44598         Allow binding `url-mime-accept-string'
44600         * lisp/url/url-http.el (url-http): Allow binding
44601         `url-mime-accept-string' (bug#22855).
44603 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44605         Add a NEWS entry for the colorful VC indicator
44607 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44609         Use colors in the VC mode lines
44611         * lisp/vc/vc-hooks.el: Make the mode line faces default to
44612         using colors to more clearly tell the user what the status is.
44614 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44616         Support <bdo> and <bdi>
44618         * lisp/net/shr.el (shr-tag-bdo): New function.
44619         (shr-tag-bdi): Ditto.
44621 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44623         Respect <html dir=auto>
44625         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
44626         directional HTML setting.
44628 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44630         Default bidi paragraph direction to nil
44632         * lisp/net/eww.el (eww-display-html): Default bidi rendering
44633         to nil, so that possibly more Arabic web pages render
44634         correctly (bug#22786).
44635         (eww-setup-buffer): Ditto.
44637 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
44639         Preserve current column, going up/down in thumbnail view.
44641 2016-02-29  Alan Mackenzie  <acm@muc.de>
44643         Handle "noise" macros and compiler directives.
44645         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
44647         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
44648         (c-noise-macro-with-parens-names): New customizable variables.
44649         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
44650         (c-make-noise-macro-regexps): New function.
44652         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
44653         members of c-noise-macro-names as whitespace.
44654         (c-forward-noise-clause): New function.
44655         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
44656         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
44657         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
44658         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
44660         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
44661         in parallel with "prefix-spec keywords".
44663         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
44664         c-make-noise-macro-regexps to initialize the internal variables.
44666         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
44667         facilities.
44669 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
44671         Stop calling res_init
44673         Emacs shouldn’t need to call res_init any more, now that nscd or
44674         equivalent is everywhere.  On modern systems, calling res_init
44675         simply slows Emacs down.  On ancient systems lacking nscd Emacs
44676         will still work well enough with this change; it’s just that it
44677         won’t respond to changes in /etc/resolv.conf.
44678         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
44679         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
44680         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
44681         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
44683 2016-02-29  Glenn Morris  <rgm@gnu.org>
44685         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
44687         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
44689 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
44691         * src/process.c (Fdelete_process): Simplify cast.
44693 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
44695         Use the correct background color when filling nested <divs>
44697         * lisp/net/shr.el (shr-face-background): Return the first
44698         background, because that's the one that's visible (bug#22680).
44700 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44702         Make <div> in <li> not insert extra newlines
44704         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
44705         extra newlines (bug#19587).
44707 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44709         Allow reading Gnus reports from an offline cache
44711         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
44712         Allow reading bug reports from an offline cache directory.
44714 2016-02-28  Tino Calancha  <f92capac@gmail.com>
44716         Meta + shift + Fn combos are recognized by xterm>=216.
44718         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
44719         Fn combos are recognized by xterm>=216 (bug#22837).
44721 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
44723         Declare $ as an expression prefix in SCSS
44725         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44726         expression prefix (bug#22841).
44728 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44730         Revert "Declare $ as an expression prefix in SCSS"
44732         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
44734         Revering to fix author name.
44736 2016-02-28  Simen  <simenheg@gmail.com>
44738         Declare $ as an expression prefix in SCSS
44740         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44741         expression prefix (bug#22841).
44743 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
44745         Save buffers before running grep commands
44747         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
44748         (grep, lgrep, rgrep): Use it (bug#96).
44750         * doc/emacs/building.texi (Grep Searching): Document
44751         `grep-save-buffers'.
44753         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
44754         `grep-ask-about-save'.
44755         (grep--save-buffers): New function.
44756         (grep, lgrep, rgrep): Use it.
44758 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44760         Allow sorting flyspell corrections
44762         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
44763         (flyspell-sort-corrections-functionx): New variable.
44764         (flyspell-sort-corrections-alphabetically): New function.
44765         (flyspell-notify-misspell): Use them.
44766         (flyspell-auto-correct-word): Ditto.
44767         (flyspell-emacs-popup): Ditto.
44768         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
44770 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44772         Wait for async DNS to complete before freeing resources
44774         * src/process.c (Fdelete_process): Wait for async DNS to
44775         complete before freeing the data structures it needs.
44777 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
44779         * lisp/faces.el: Remove duplicated functions from previous patch.
44781 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
44783         Fix TLS connections on MS-Windows
44785         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
44786         this is a non-blocking socket whose connection is in progress, set
44787         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
44788         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
44789         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
44791 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44793         Add a NEWS entry for the read-color change
44795 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
44797         Show the face colours when completing in `read-color'
44799         * lisp/faces.el (defined-colors-with-face-attributes): New function.
44800         (readable-foreground-color, defined-colors-with-face-attributes)
44801         (readable-foreground-color): Ditto.
44802         (read-color): Use them (bug#5305).
44804 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44806         Clean up the code in parse-time-string-chars
44808         * lisp/calendar/parse-time.el (parse-time-string-chars):
44809         Clean up the code a bit.
44811 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44813         Add some tests for parse-time.el
44815         * test/lisp/calendar/parse-time-tests.el: New file.
44817 2016-02-27  Dima Kogan  <dima@secretsauce.net>
44819         Strip out some leading whitespace when looking at logs
44821         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
44822         at expanded git logs with `vc-print-root-log' (C-x v L, then
44823         <enter> by default), Emacs was stripping out all leading
44824         whitespace from git logs.  I now strip exactly 2 leading
44825         spaces, which retains the indentation in the logs (bug#18110).
44827 2016-02-27  Dima Kogan  <dima@secretsauce.net>
44829         Use a separate history variable for align-regexp
44831         * lisp/align.el (align-regexp-history): New variable (bug#16891).
44832         (align-regexp): Use it.
44834 2016-02-27  Phil Sung  <philbert@gmail.com>
44836         Create subdirectories automatically in wdired
44838         * lisp/wdired.el (wdired-create-parent-directories): New
44839         variable (bug#6817).
44840         (wdired-create-parentdirs): New function.
44841         (wdired-do-renames): Use it.
44842         * doc/emacs/dired.texi (Wdired): Mention
44843         `wdired-create-parent-directories'
44845 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
44847         Return the correct error values from gnutls.c
44849         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
44850         expected by process.c.
44851         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
44852         possible race condition with the process.c socket polling
44853         functions.
44855 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
44857         Don't make assumptions about mkdir.  (Bug#22822)
44859         * test/Makefile.in (MKDIR_P): New, set by configure.
44860         (%.log): Use MKDIR_P.
44862 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
44864         Support switching to hexl-mode from image-mode
44866         * lisp/image-mode.el (image-toggle-hex-display)
44867         (image-mode-to-text): New functions.
44868         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
44869         image-toggle-hex-display.
44870         (image-mode-map): New menu item "Show as Hex".
44871         (image-mode): Update doc string and echo-area message.
44872         (image-toggle-display): Support toggle to hex.  (Bug#22453)
44874         * doc/emacs/files.texi (File Conveniences): Document
44875         'image-toggle-hex-display'.
44877 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
44879         Remove unused code in coding.c
44881         * src/coding.c (decode_eol): Remove unused code that handled the
44882         case of coding->dst_object being nil.  Replace it with an
44883         assertion.
44885 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
44887         * src/syntax.c: Fix result of syntax_multibyte()
44889         The ?: operator has a lower precedence than ||.
44890         Bug introduced by commit 45b683a.
44892 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44894         --enable-gcc-warnings now uses -Wjump-misses-init
44896         When configuring with --enable-gcc-warnings, also enable
44897         -Wjump-misses-init, as it’s confusing to use a goto to skip over
44898         an initialization.  Fix the few places in the code that run afoul
44899         of this warning.
44900         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
44901         * src/doc.c (Fsubstitute_command_keys):
44902         * src/image.c (svg_load_image):
44903         * src/regex.c (re_match_2_internal):
44904         * src/xdisp.c (redisplay_internal, redisplay_window):
44905         Don’t jump over initialization.
44907 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
44909         Improve the register-hotkey functionality on MS-Windows
44911         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
44912         keyboard hook functionality.
44913         Include w32inevt.h, basetyps.h and unknwn.h.
44914         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
44915         (kbdhook): A new struct definition.
44916         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
44917         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
44918         (modifier_set): Call check_w32_winkey_state if a Win key was
44919         pressed and the keyboard hook is active.
44920         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
44921         hook is active.  Only register/unregister the hotkeys if the
44922         keyboard hook is not active.  When WM_CREATE is received, call
44923         setup_w32_kbdhook.  When WM_DESTROY is received, call
44924         reset_w32_kbdhook_state.
44925         (lookup_vk_code): When the keyboard hook is active, map
44926         alphanumeric characters to themselves.
44927         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
44928         modified keys to VK_ANY if the keyboard hook is active.  Register
44929         Alt-x and Win-x combinations.
44930         (Fw32_shell_execute): Update doc string to reflect new
44931         functionality.  Bypass the code that posts the
44932         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
44933         (Fw32_unregister_hot_key): Bypass the code that posts the
44934         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
44935         (syms_of_w32fns) <w32-pass-lwindow-to-system>
44936         <w32-pass-rwindow-to-system, w32-phantom-key-code>
44937         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
44938         to reflect the new functionality.
44939         * src/w32console.c (initialize_w32_display): Install the low-level
44940         keyboard hook.
44941         * src/w32inevt.c (key_event): Handle Win-x combinations only if
44942         the keyboard hook is not active.  If the hook is active, use
44943         check_w32_winkey_state instead.
44944         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
44945         (check_w32_winkey_state): Add prototypes.
44946         (w32_kbdhook_active): New macro.
44948         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
44949         new functionality.
44951 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
44953         Add forward-sexp (and related) tests
44955         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
44956         forward-sexp and related functions (bug#22800).
44958 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
44960         Don't use (localized) week days in dates
44962         * lisp/gnus/gnus-icalendar.el
44963         (gnus-icalendar-event:org-timestamp): Don't use (localized)
44964         week days in the dates, because that messes up things later.
44966 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44968         Update pcomplete/find
44970         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
44971         (bug#10487).
44973 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
44975         Make parse-time-string-chars more efficient
44977         * lisp/calendar/parse-time.el (parse-time-string-chars): The
44978         string has already been downcase, so don't care about case
44979         (bug#18522).
44981 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
44983         Remove killed buffers from the list of Gnus buffers
44985         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
44986         buffers from the list of Gnus buffers (bug#18522).
44988 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44990         Integer overflow cleanups for ports and socklen
44992         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
44993         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
44994         (connect_network_socket):
44995         Use ptrdiff_t, not int, for signed object sizes.
44996         This addresses only a theoretical problem, as in practice these
44997         object sizes are less than 2**31, but we might as well use the
44998         same style here as elsewhere in Emacs.
44999         (string_integer_p): Remove; all uses removed.
45000         (Fmake_network_process): Check that port number is in range.
45001         When converting an integer-string service, rely on strtol
45002         rather than rechecking the string by hand.
45003         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
45004         Adjust prototypes to match.
45006 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
45008         Add pcomplete support for find
45010         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
45011         for find (bug#10487).
45013 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
45015         Replace XXX acronyms with draft standard ones
45017         * lisp/international/characters.el (c1-acronyms): Replace XXX
45018         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
45019         (bug#13745).
45021 2016-02-24  Kevin Ryde  <user42@zip.com.au>
45023         Make checkdoc warn about variables described as "True"
45025         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
45026         Docstrings for variables "True...", and functions "Return
45027         true...", should usually be "non-nil" (bug#15506).
45029 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
45031         Add NEWS entry for "number string" change
45033 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
45035         Allow using "number strings" as services on non-GNU systems
45037         * src/process.c (string_integer_p): New function.
45038         (Fmake_network_process): Use it to allow connecting to
45039         services specified as "993" even when getaddrbyname isn't
45040         available.
45042 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
45044         Fix problem in tramp.texi
45046         * doc/misc/tramp.texi (File name completion): Do not use
45047         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
45048         during PDF creation.
45050 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45052         Make image commands available in image-mode
45054         * lisp/image-mode.el (image-mode-map): Inherit from
45055         `image-map' so that the usual image commands work.
45057 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45059         Move `o' to `O' in shr-map
45061         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
45062         from `o' to `O' to avoid collisions with `image-map'.
45064 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45066         Make setting the coding system non-blocking
45068         * src/process.c (Fset_process_filter_multibyte): Defer
45069         completing coding system setup in asynchronous processes.
45070         (Fset_process_coding_system): Ditto.
45072 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
45074         Mention `proced-toggle-auto-update' in the proced-mode doc string
45076         * lisp/proced.el (proced-mode): Mention
45077         `proced-toggle-auto-update' (bug#14341).
45079 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
45081         Add a fortune-message command
45083         * lisp/play/fortune.el (fortune-message): Add a command to
45084         display fortunes in the echo area (bug#14915).
45086 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
45088         Add hideshow bindings analogous to outline mode
45090         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
45091         analogous to outline mode bindings (bug#15324).
45093 2016-02-23  Bastien Guerry  <bzg@altern.org>
45095         Allow highlighting things like @math{2^{12}}
45097         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
45098         Allow highlighting things like @math{2^{12}} (bug#16390).
45100 2016-02-23  Per Bothner  <per@bothner.com>
45102         Make `C-{up,down,left,right}' work in term mode
45104         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
45105         to send the same escape sequence that xterm sends.  This makes
45106         backward-word and forward-word work in readline (bug#16746).
45108 2016-02-23  Dima Kogan  <dima@secretsauce.net>
45110         Allow ff-find-other-file (etc) to work with indirect clone buffers
45112         * lisp/find-file.el (ff-buffer-file-name): New function to
45113         allow the feature to work with indirect buffers, too
45114         (bug#16904).
45115         (ff-find-the-other-file): Use it.
45116         (ff-other-file-name): Ditto.
45117         (ff-get-file-name): Ditto.
45119 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45121         Fix error in add-change-log-entry when the entry has no newline
45123         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
45124         ChangeLog may end without a new line starting with blanks.
45126 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45128         Avoid using mm-util functoins in gravatar.el
45130         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
45131         mm-util functions.
45132         (gravatar-retrieve-synchronously): Ditto.
45134 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45136         Move low-level library files from the lisp/gnus directory
45138         The files moved from lisp/gnus are:
45140         auth-source.el -> /
45141         compface.el -> /image
45142         ecomplete.el -> /
45143         flow-fill.el -> /mail
45144         gravatar.el -> /image
45145         gssapi.el -> /net
45146         html2text.el -> /net
45147         ietf-drums.el -> /mail
45148         mail-parse.el -> /mail
45149         mail-prsvr.el -> /mail
45150         mailcap.el -> /net
45151         plstore.el -> /
45152         pop3.el -> /net
45153         qp.el -> /mail
45154         registry.el -> /
45155         rfc1843.el -> /international
45156         rfc2045.el -> /mail
45157         rfc2047.el -> /mail
45158         rfc2231.el -> /mail
45159         rtree.el -> /
45160         sieve-manage.el -> /net
45161         sieve-mode.el -> /net
45162         sieve.el -> /net
45163         starttls.el -> /net
45164         utf7.el -> /international
45165         yenc.el -> /mail
45167 2016-02-23  Tino Calancha  <f92capac@gmail.com>
45169         Allow undoing changes while doing query-replace
45171         * doc/lispref/searching.texi (Search and Replace): Mention
45172         undo (bug#21684).
45174         * lisp/replace.el (query-replace-help): Document undo.
45175         (perform-replace): Implement undo while replacing text.
45177 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
45179         Highlight assignments in Makefiles more correctly
45181         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
45182         Highlight assignments preceded by a TAB character correctly
45183         (bug#20787).
45185 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
45187         Use memmove instead of memcpy on overlapping regions
45189         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
45190         use memmove instead of memcpy (bug#19213).
45192 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
45194         Port to --enable-gcc-warnings sans getaddrinfo_a
45196         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
45197         to a local unused when getaddrinfo_a is missing.
45198         Resize portbuf to size needed.  Do cheap test first.
45199         Move local to block where it’s needed.
45201 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
45203         Minor cleanups for async DNS etc.
45205         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
45206         Omit unnecessary parens.
45207         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
45208         (gnutls_verify_boot):
45209         Use bool for boolean.
45210         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
45211         * src/process.c (free_dns_request, Fmake_network_process):
45212         Allocate and free async request control block all in one go.
45213         (set_network_socket_coding_system, finish_after_tls_connection)
45214         (connect_network_socket):
45215         Now static.
45216         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
45217         (Fmake_network_process): Use list1 for brevity.
45218         (wait_for_socket_fds): 2nd arg is now const ptr.
45219         * src/process.h (struct Lisp_Process.dns_request):
45220         Now struct gaicb *, not struct gaicb **, since there was always
45221         exactly one.  All uses changed.
45222         * src/window.c, src/window.h (run_window_configuration_change_hook):
45223         Now static.
45225 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
45227         Allow more shell script defun forms
45229         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
45230         script defun forms, like function name () {...} (bug#19754).
45232 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
45234         Fix `window-configuration-change-hook' and `window-size-change-functions'
45236         (1) Run `window-configuration-change-hook' if and only if at least
45237         one window was deleted or created or shows another buffer since
45238         last redisplay.
45240         (2) Run `window-size-change-functions' if and only if at least
45241         one window changed its size since last redisplay (in a few cases
45242         `window-size-change-functions' will also run when no window
45243         changed its size).
45245         (3) Provide two functions `window-pixel-height-before-size-change'
45246         and `window-pixel-width-before-size-change' that allow to easily
45247         detect which window changed size.
45249         * src/frame.h (struct frame): New boolean member
45250         window_configuration_changed.
45251         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
45252         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
45253         * src/frame.c (adjust_frame_size): Don't run
45254         `window-configuration-change-hook'.
45255         * src/window.h (struct window): New fields
45256         pixel_width_before_size_change and pixel_height_before_size_change.
45257         (WINDOW_INTERNAL_P): New macro.
45258         * src/window.c (Fwindow_pixel_width_before_size_change)
45259         (Fwindow_pixel_height_before_size_change): New functions.
45260         (Fdelete_other_windows_internal, Fwindow_resize_apply)
45261         (resize_frame_windows, Fsplit_window_internal)
45262         (Fdelete_window_internal, grow_mini_window)
45263         (shrink_mini_window, Fresize_mini_window_internal): Don't call
45264         FRAME_WINDOW_SIZES_CHANGED.
45265         (window_size_changed, window_set_before_size_change_sizes)
45266         (run_window_size_change_functions): New functions.
45267         (make_window): Initialize pixel_width_before_size_change and
45268         pixel_height_before_size_change.
45269         (Fdelete_window_internal): Don't call
45270         run_window_configuration_change_hook.
45271         (struct saved_window): Add pixel_height_before_size_change and
45272         pixel_width_before_size_change.
45273         (Fset_window_configuration): Try to identify window configuration
45274         changes correctly so run_window_configuration_change_hook and
45275         run_window_size_change_functions run only if configuration and size
45276         really changed.
45277         (save_window_save): Set the pixel_height_before_size_change and
45278         pixel_width_before_size_change fields.
45279         (Vwindow_size_change_functions): Move here definition from xdisp.c.
45280         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
45281         run_window_size_change_functions.
45282         (Vwindow_size_change_functions): Move definition to window.c.
45283         * src/xfns.c (x_set_menu_bar_lines): Don't call
45284         run_window_configuration_change_hook.
45285         * doc/lispref/windows.texi (Window Sizes): Document new
45286         functions `window-pixel-height-before-size-change' and
45287         `window-pixel-width-before-size-change'.
45288         (Window Configurations): Mention that this may trigger
45289         execution of `window-size-change-functions' although no window
45290         changed size.
45291         (Window Hooks): Update descriptions of `window-size-change-functions'
45292         and `window-configuration-change-hook'.
45294 2016-02-23  Drew Adams  <drew.adams@oracle.com>
45296         (ls-lisp-insert-directory): Make -B work
45298         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
45299         (bug#20776).
45301 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45303         Fix typo in message-setup-fill-variables
45305         * lisp/gnus/message.el (message-setup-fill-variables): Fix
45306         typo in a recent checkin that used `setq-default' instead of
45307         `setq-local' (bug#22781).
45309 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45311         `message-dont-reply-to-names' can also be a list of regexps
45313         * lisp/gnus/message.el (message-dont-reply-to-names):
45314         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
45316 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
45318         Make buttons in header lines work
45320         * lisp/help-mode.el (help-button-action): `help-xref-button' in
45321         header line doesn't work (bug#21024).
45323 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
45325         Place apples randomly in Snake
45327         * lisp/play/snake.el (snake-score): New variable (bug#21359).
45328         (snake-set-dot): Place the apples randomly.
45330 2016-02-23  Tino Calancha  <f92capac@gmail.com>
45332         Allow optional parameter to be nil
45334         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
45335         optional parameter to be nil (bug#21576).
45337 2016-02-23  Tino Calancha  <f92capac@gmail.com>
45339         Completely ignore buffers with no name when copying file names
45341         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
45342         ignore buffers with no file name. (bug#21577).
45344 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45346         Make spelling of "Eshell" consistent
45348         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
45349         * lisp/eshell/eshell.el (eshell-command):
45350         Spell it "Eshell" (bug#21678).
45352 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
45354         Allow pretty lambdas in Scheme mode
45356         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
45357         `prettify-symbols-alist' from Lisp mode (bug#21679).
45359 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45361         Rename lisp--prettify-symbols-alist
45363         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
45364         Rename from `lisp--prettify-symbols-alist' since we're going
45365         to use it in Scheme mode, too.
45366         (lisp-mode-variables): Use it.
45368 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
45370         Remove spurious newline in package list
45372         * lisp/emacs-lisp/package.el (describe-package-1): Remove
45373         spurious newline (bug#21706).
45375 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
45377         Revert "Remove spurious newline in package list"
45379         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
45381 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
45383         Remove spurious newline in package list
45385         * lisp/emacs-lisp/package.el (describe-package-1): Remove
45386         spurious newline (bug#21706).
45388 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
45390         Keep the position in the process buffer when deleting processes
45392         * lisp/simple.el (process-menu-delete-process): Keep the
45393         position in the buffer after killing a process (bug#21759).
45395 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45397         Require that the buffer that we're trying to patch exist
45399         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
45400         buffer that we're trying to patch exist (bug#21852).
45402 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
45404         Require that the buffer that we're trying to patch exist
45406         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
45407         buffer that we're trying to patch exist (bug#21852).
45409 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
45411         Be more verbose when changing frame mode in ediff
45413         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
45414         mode we toggled to (bug#21853).
45416 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
45418         Encode header strings before printing
45420         * lisp/ps-print.el (ps-generate-header-line): Encode the
45421         header strings to avoid problems with non-ASCII headers
45422         (bug#22611).
45424 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
45426         Test message-strip-subject-trailing-was
45428         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
45429         New test (bug#22632).
45431 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
45433         Make use of the `ert-with-function-mocked' macro
45435         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
45436         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
45437         `ert-with-function-mocked' instead of implementing the fragile
45438         `unwind-protect' logic openly.
45440 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
45442         message-strip-subject-trailing-was: Refactor
45444         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
45445         the function replacing sequence of `if' calls with a mixture of `or'
45446         and `and' calls instead.  This makes it shorter and containing less
45447         internal state thus easier to follow.
45449 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
45451         ert-with-function-mocked: New macro
45453         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
45454         allows evaluating code while particular function is replaced with
45455         a mock.  The original definition of said function is restored once the
45456         macro finishes.
45458 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45460         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
45462         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
45463         interface functions.
45465         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
45466         gnus-rfc1843.
45468 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45470         Don't use mm-util functions in qp.el
45472         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
45473         mm-util functions.
45474         (quoted-printable-encode-string): Ditto.
45475         (quoted-printable-encode-region): Ditto.
45477 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45479         Don't require mm-util
45481         * lisp/mail/ietf-drums.el (mm-util): Don't require.
45483 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45485         Remove Gnus functions from auth-source.el
45487         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
45488         Remove usage of Gnus utility function.
45489         (mm-util, gnus-util): Don't require.
45491 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45493         Allow deleting all non-matching cookies
45495         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
45496         keeping matching cookies (bug#22720).
45498 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
45500         Make (setf (image-property ...)) return VALUE
45502         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
45504 2016-02-22  John Wiegley  <johnw@newartisans.com>
45506         Merge from origin/emacs-25
45508         a9c48d5 Additional fixes for file notification
45509         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
45510         8c22ac9 ; Spelling fix
45511         2975784 Set file modes of pinentry socket for extra safety
45512         2667b3e Clarify GnuPG version compatibility chapter
45513         5e34c36 Revert "Change the default socket location for pinentry"
45514         e19c1c3 Kill off xref--display-history
45515         5698947 Keep the xref buffer visible until the user quits it explicitly
45516         e34fbde Change the default socket location for pinentry
45517         5f89658 Mention how to enable pinentry feature
45518         db51224 Sync with gnulib
45519         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
45520         2d8b2fd Restore point when writing semantic table to disk
45521         27d3430 Mention pinentry.el in epa manual
45522         5baa001 Fix Bug#22736
45523         7261355 Grammar fix in doc string
45524         d0f3b18 Naming fix for consistency
45525         74ec92d Prefer customized value for GnuPG executable
45526         ea0b604 Fix memory reservation on MS-Windows
45527         c5f72aa Update NextStep readme and add wish list.
45528         6de26a7 Report also result in `file-notify--test-event-handler'
45529         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
45530         1cb1268 Fix todo-mode item date editing bugs
45531         1e996cf Fix "[:upper:]" for non-ASCII characters
45532         896f993 Allow customizing the article mode cursor behavior
45533         24c1c1d Use pop-to-buffer-same-window in woman.el
45534         2a75f64 New filenotify test for bug#22736
45535         c9bccf7 Report critical battery errors
45536         d675db9 Make eww message toggling message clearer
45537         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
45538         fa8fd65 ; Improve character-folding entries in NEWS
45539         3722a69 Fix bugs in window resizing code
45540         289d5c6 Fix decoding DOS EOL in a unibyte buffer
45541         2abcb06 Correct c-parse-state cache manipulation error.
45542         14aec91 Take advantage of new GnuPG version check function
45543         e80c2a7 Make GnuPG version check robuster
45544         15a9464 Fix x-load-color-file pointer signedness
45545         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
45546         78ab6f1 Follow convention for greek letter constants.
45547         106b5bb Add Stefan-Boltzmann constant to calc units table.
45548         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
45549         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
45550         2d40f7d Fix soffice UserInstallation-URL for Windows
45551         b1a3ebe Fix display of <pre> elements
45552         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
45553         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
45555 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
45557         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
45559         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
45560           non-existing buffer.
45562 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45564         Mention the further asynchronousity
45566 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45568         Fix async TLS boot problem
45570         * src/process.c (wait_reading_process_output): Verify the boot
45571         of the correct process.
45573 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45575         Clean up forgotten text in manual
45577         * doc/lispref/display.texi (Defining Images): Remove example
45578         forgotten when making previous change.
45580 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45582         Clean up debugging code
45584         * src/process.c (Fmake_network_process): Remove debugging printf.
45585         (wait_for_socket_fds, wait_while_connecting)
45586         (wait_for_tls_negotiation): Remove newlines from messages.
45588 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45590         Fix merge conflicts in network-stream-tests.el
45592 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
45594         Port recent filevercmp addition to MS-Windows
45596         Reported by Andy Moreton in:
45597         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
45598         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
45599         (EXTRA_DIST): Add filevercmp.h.
45601 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45603         add_to_log expects Lisp parameters
45605 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45607         Mention sentinels in conjunction with :nowait t.
45609         * doc/lispref/processes.texi (Network Processes): Mention the
45610         recommended way of using sentinels with :nowait t.
45612 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45614         Mention in the doc strings that process functions may block
45616         (Fprocess_contact, Fprocess_datagram_address)
45617         (Fset_process_datagram_address, Fset_network_process_option)
45618         (Fprocess_send_region, Fprocess_send_string): Mention that the
45619         functions may block.
45620         (Fset_process_coding_system): Ditto.
45622 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45624         Add blocker warnings to the *Messages* buffer
45626         * src/process.c (wait_for_socket_fds): Add warning to the log.
45627         (wait_while_connecting): Ditto.
45628         (wait_for_tls_negotiation): Ditto.
45630 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
45632         Rework the image property getter/setters
45634         * doc/lispref/display.texi (Defining Images): Document the
45635         renamed `image-get/set-property' functions.
45637         * lisp/image.el (image--set-property): Rename from
45638         image-set-property.
45639         (image-property): Declare a setf form.
45640         (image-property): Rename from `image-get-property'.
45642 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
45644         Use Gnulib filevercmp for version comparison
45646         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
45647         * doc/lispref/strings.texi (Text Comparison):
45648         * etc/NEWS, src/fns.c:
45649         * test/src/fns-tests.el (fns-tests-string-version-lessp):
45650         Rename newly-introduced function to string-version-lessp, by
45651         analogy with strverscmp.
45652         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
45653         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
45654         * src/fns.c: Include <filevercmp.h>.
45655         (gather_number_from_string): Remove.
45656         (Fstring_version_lessp): Reimplement via filevercmp.
45658 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45660         Add a function to delete URL cookies
45662         * doc/misc/url.texi (Cookies): Document
45663         url-cookie-delete-cookies.
45665         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
45667 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45669         Avoid integer overflows in string-numeric-lessp
45671         * src/fns.c (Fstring_numeric_lessp): If we have an integer
45672         overflow, compare lexicographically.
45674 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45676         Add the string-numeric-lessp function
45678         * doc/lispref/strings.texi (Text Comparison): Document
45679         `string-numerical-lessp'.
45681         * src/fns.c (Fstring_numeric_lessp): New function.
45682         (gather_number_from_string): Helper function for that function.
45684         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
45686 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
45688         Clarify levels of :nowait t.
45690         * doc/lispref/processes.texi (Network Processes): Mention
45691         levels of asynchronicity.
45693 2016-02-20  Alain Schneble  <a.s@realize.ch>
45695         Respect DNS timeouts
45697         * src/process.c (check_for_dns): If the async DNS request
45698         failed and the associated process is still in "connect" state,
45699         deactivate the process and set status to "failed".
45701 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45703         Add a frame around the placeholder image in shr
45705         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
45706         around the image.
45708 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45710         Use placeholder images in shr to avoid text moving around
45712         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
45713         from the HTML.
45714         (shr-tag-img): Ditto.
45715         (shr-string-number): New function.
45716         (shr-make-placeholder-image): Make placeholder images.
45717         (shr-tag-img): Insert them if we have SVG support.
45719 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45721         Get explicit width/height + scale computations right
45723         * src/image.c (compute_image_size): :scale should also be
45724         taken into account when :width and :height are explicitly names.
45726 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
45728         New functions for getting and setting image properties
45730         * doc/lispref/display.texi (Defining Images): Document
45731         image-get/set-property.
45733         * lisp/image.el (image-set-property): New function.
45734         (image-get-property): Ditto.
45736 2016-02-19  Alan Mackenzie  <acm@muc.de>
45738         Await the final mouse event in C-h c and C-h k.
45740         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
45741         event, keep reading further events until a timeout occurs, to ensure we have
45742         the complete mouse event from the user.
45744 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45746         Add a library for creating and manipulating SVG images
45748         * doc/lispref/display.texi (SVG Images): New section.
45750         * lisp/svg.el: New file.
45752 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45754         Fix up tests for async TLS negotiation
45756 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
45758         Fix coding system setup
45760         * src/process.c (set_network_socket_coding_system): Pass in
45761         the host/service that's been computed already.
45763 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
45765         Reference `tramp-theme' in GNU ELPA.
45767         * doc/misc/tramp.texi (Frequently Asked Questions):
45768         Reference `tramp-theme' in GNU ELPA.
45770 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
45772         Verify the TLS connection asynchronously
45774         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
45775         function so that we can call it asynchronously.
45776         (Fgnutls_boot): Use it.
45778         * src/process.c (wait_reading_process_output): Verify the TLS
45779         negotiation.
45781 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
45783         Add column layout module to CSS property list
45785         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
45786         CSS Multi-column Layout Module.
45788 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
45790         Minor cleanup in CONTRIBUTE and test/README
45792         * CONTRIBUTE: Remove detailed explanation about testing; this
45793         is now in test/README.
45795         * test/README: Don't mention automated/ subdirectory.
45797 2016-02-15  Glenn Morris  <rgm@gnu.org>
45799         Provide 'term/name in lisp/term files.
45801         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
45802         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
45803         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
45804         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
45805         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
45806         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
45807         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
45808         For consistency, provide 'term/name in all files that don't already.
45810 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45812         Deactivate the correct process
45814         * src/process.c (wait_reading_process_output): Deactivate the
45815         correct process on failure.
45817 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45819         Implement asynch TLS negotiation
45821         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
45822         function.
45823         (emacs_gnutls_handshake): Use it.
45824         (emacs_gnutls_read): Just return instead of retrying the handshake.
45826         * src/process.c (finish_after_tls_connection): Factor out
45827         into its own function.
45828         (connect_network_socket): Use it.
45829         (wait_reading_process_output): Retry TLS handshakes.
45830         (wait_reading_process_output): Defer sentinel until TLS completes.
45832 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45834         Simplify the DNS resolution loop a bit
45836         * src/process.c (wait_reading_process_output): Simplify the
45837         DNS resolution loop a bit.
45839 2016-02-15  Alain Schneble  <a.s@realize.ch>
45841         Loop over the process list instead of maintaining a separate list
45843         * src/process.c: Remove declaration/definition of dns_processes list.
45844         * src/process.c (wait_reading_process_output): Loop over all processes in
45845         Vprocess_alist instead of dns_processes, to check for completed DNS
45846         requests.
45848 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45850         Allow setting the filter masks later
45852         * src/process.c (Fset_process_filter): Don't set the socket
45853         masks here, because we may not have a socket yet.
45854         (set_process_filter_masks): New function.
45855         (connect_network_socket): Set the filter masks here.
45857 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45859         Remove debugging
45861 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45863         Ensure we always free DNS resources when deleting a process
45865         * src/process.c (free_dns_request): Factor out into own function.
45866         (Fdelete_process): When deleting a process, free any DNS
45867         structures associated with it.
45868         (check_for_dns): Always free all DNS resources.
45870 2016-02-15  Alain Schneble  <a.s@realize.ch>
45872         Don't block in set-process-window-size
45874         * src/process.c (set-process-window-size): Explicitly return Qnil when
45875         called with network processes as set_window_size won't work anyway on
45876         socket fds.  As a welcome side effect, this makes the blocking
45877         wait_for_socket_fds call obsolete.
45879 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45881         Do most of the coding system setup earlier
45883         * src/process.c (Fmake_network_process): Set the read/write
45884         coding systems here, so that special bindings work.
45885         (Fmake_network_process): Complete the coding system setup here.
45887 2016-02-15  John Wiegley  <johnw@newartisans.com>
45889         Merge from origin/emacs-25
45891         d4b93e1 Minor fixes in global-auto-composition-mode
45892         02b037b Allow arithmetic operators inside C++ template constructs.
45893         44b16f6 Avoid crashes in semi-malformed 'condition-case'
45894         652e5b4 Allow arithmetic operators inside C++ template constructs.
45895         d9ea795 Fix regression with 'recent-keys' and keyboard macros
45896         903603f Fix wording in a doc-view.el comment
45897         cf79616 ; Spelling fixes
45898         f8bf1b3 CONTRIBUTE cleanups and updates
45899         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
45900         1834ac7 Port to x86 GCC 4.3.1 and earlier
45901         8482949 Fix point movement under 'scroll-conservatively'
45902         c1313b5 Replace colon in file name (not legal on Windows)
45903         f7af26c Fix a typo in edt.texi
45904         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
45905         856cd94 Grep alias `all' shall not match parent directory
45907 2016-02-15  John Wiegley  <johnw@newartisans.com>
45909         Merge from origin/emacs-25
45911         dacde7e * etc/AUTHORS: Update the AUTHORS file
45912         478ca5d ; fix changelog entries
45913         2b7d006 ; make change-history-commit
45914         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
45915         47896c8 ; Improve commentary in insdel.c
45916         53ca1e1 Index tilde characters in names of backup files
45917         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
45918         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
45919         28bb214 Announce that the `C-x w' bindings are deprecated
45920         1c98f98 Suppress GNUstep hardening
45921         d82f24b Fix redisplay after a large insertion
45922         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
45923                 closed server"
45924         e8e3db0 ; Improve merge documentation in CONTRIBUTE
45925         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
45926         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
45927                 limitations.
45929 2016-02-15  John Wiegley  <johnw@newartisans.com>
45931         Merge from origin/emacs-25
45933         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
45934         afe7d1f Revert "Document EXIF image rotation"
45935         c6f377c Document OS X LANG default
45936         eb4a18c Set locale when run from OS X GUI
45937         456c0a3 make-docfile cleanup for I/O, etc.
45938         25ec995 Memory-management cleanup in make-docfile
45939         02d925e Kevin Gallagher has new email address
45940         4ef153b Improve doc strings of 'forward/backward-word-strictly'
45941         3ad05a0 Describe Makefile test targets in test/README
45943 2016-02-15  John Wiegley  <johnw@newartisans.com>
45945         Merge from origin/emacs-25
45947         10b8ed2 Document EXIF image rotation
45948         0f60049 Support integer image rotation and respect EXIF rotations
45949         7dd45b6 Quote table names for postgres listings (sql-mode)
45950         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
45951                 `backward' optional.
45952         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
45953                 temporary-goal-column.
45954         0a289d3 Suppress ACL ops if configured with --disable-acl
45955         1a9dbf5 Mention web bugs
45956         fa55da2 Make mm-html-blocked-images default to "" again
45958 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
45960         Protect against initial handshake failures
45962         * src/process.c (connect_network_socket): Mark the connection
45963         as failed if the handshake didn't succeed yet.  This should be
45964         reworked later.
45966 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
45968         Call the network security manager after doing TLS negotiation
45970         * lisp/net/network-stream.el (network-stream-open-tls):
45971         Postpone NSM verification when running async.
45973         * src/process.c (Fset_process_filter): This function doesn't
45974         need to wait.
45975         (connect_network_socket): Set the process status to "run" only
45976         after TLS negotiation.
45977         (wait_for_socket_fds): Take a name parameter for more debugging.
45978         (wait_reading_process_output): Don't change status to "run"
45979         unless TLS negotiation has finished.
45980         (send_process): Wait for the process here instead of
45981         send_process_string.
45982         (connect_network_socket): Call the network security manager.
45984 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
45986         Remove some #ifdefs and update documentation
45988         * doc/lispref/processes.texi (Network Processes): Remove
45989         mention of `dns'.
45991         * lisp/net/network-stream.el (open-network-stream): Remove
45992         mention of `dns'.
45994         * src/process.c (Fset_process_filter)
45995         (Fset_process_window_size, Fprocess_contact)
45996         (Fprocess_datagram_address, Fset_process_datagram_address)
45997         (Fset_network_process_option, Fprocess_send_region)
45998         (Fprocess_send_string, Fset_process_coding_system)
45999         (Fset_process_filter_multibyte): Remove the #ifdef
46000         HAVE_GETADDRINFO_A checks.
46001         (Fprocess_send_string): Wait for TLS negotiation.
46002         (wait_for_tls_negotiation): New function.
46003         (send_process): Remove the TLS boot check.
46005         * src/process.c (Fmake_network_process): Ditto.
46007 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
46009         Use :nowait t in url-gw
46011         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
46012         since we're not differentiating.
46014 2016-02-14  Alain Schneble  <a.s@realize.ch>
46016         Add blockers to process functions
46018         * src/process.c (set-process-filter, set-process-window-size,
46019         process-contact, process-datagram-address, set-process-datagram-address,
46020         set-network-process-option): Make functions wait (block) on network
46021         process until pending DNS requests have been processed and associated
46022         socket initialized.
46024         * src/process.c (process-send-region, process-send-string,
46025         process-send-eof): Make functions wait (block) while network process is
46026         in connect state.
46028 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
46030         Add fragmentation module to CSS property list
46032         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
46033         CSS Fragmentation Module Level 3.
46035 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
46037         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
46039 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
46041         New function seq-map-indexed
46043         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
46044         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
46046 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46048         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
46050 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46052         Fix problem with wrong encoding of non-ASCII message bodies
46054         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
46055         multibyteness before encoding the data.
46057 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46059         Remove codepage setup code from mm-util
46061         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
46062         (mm-codepage-iso-8859-list): Remove.
46063         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
46064         (mm-setup-codepage-ibm): Remove.
46065         (mm-charset-eval-alist): Remove the code pages from the
46066         default value.
46068 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46070         Remove compat code for older Emacsen
46072         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
46073         XEmacs compat code.
46075         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
46076         unused compat function.
46077         (gnus-sync-json-plist-p): Ditto.
46079         * lisp/gnus/message.el (message-default-charset): Make obsolete.
46080         (message-info): Remove compat code.
46081         (message-setup-fill-variables): Remove kludge needed earlier
46082         to not overwrite `normal-auto-fill-function'.
46083         (message-split-line): Remove compat code.
46085         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
46086         compat code.
46088 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46090         Remove some compat functions from gmm-utils.el
46092         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
46093         compat code.
46094         (gmm-image-search-load-path): Remove.
46095         (gmm-image-load-path-for-library): Remove.
46097 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46099         Remove the gmm-lazy and nnmail-lazy compat widgets
46101         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
46103         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
46105 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46107         Clean up nnimap-request-move-article slightly
46109         * lisp/gnus/nnheader.el (subr-x): Require.
46111         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
46112         the code slightly.
46114 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46116         Use open-network-stream instead of open-protocol-stream
46118         * lisp/gnus/nnimap.el: Use open-network-stream instead of
46119         open-protocol-stream.
46121         * lisp/gnus/nntp.el: Ditto.
46123         * lisp/gnus/pop3.el: Ditto.
46125         * lisp/net/sieve-manage.el: Ditto.
46127         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
46129 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46131         Remove compat code that relies on (featurep 'mule)
46133         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
46134         compat code.
46136         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
46137         Remove compat code.
46139         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
46140         Remove compat code.
46142         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
46143         Remove compat code.
46144         (mm-w3m-standalone-supports-m17n-p): Ditto.
46146 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46148         Remove compat functions from starttls.el
46150         * lisp/net/starttls.el
46151         (starttls-set-process-query-on-exit-flag): Remove.
46153 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46155         Remove compat functions from smime.el
46157         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
46158         (smime-make-temp-file): Remove.
46160 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46162         Remove compat code from smiley
46164         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
46166 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46168         Remove compat code from rfc2047
46170         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
46171         compat code.
46172         (rfc2047-decode-string): Ditto.
46174 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46176         Remove compat function from pop3
46178         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
46180 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46182         Remove compat code in Gnus backends
46184         * lisp/gnus/nndiary.el (nndiary-error): Remove.
46186         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
46188         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
46190         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
46192         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
46194 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46196         Remove compat code from some mml files
46198         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
46199         Remove compat code.
46201         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
46202         Always use `mail-extract-address-components', since this isn't
46203         time critical.
46204         (mml-smime-get-dns-cert): Ditto.
46206         * lisp/gnus/mml.el (mml-preview): Remove compat code.
46208 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46210         Remove compat code and compat functions from mm-util.el
46212         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
46213         compat code.
46214         (mm-coding-system-priorities)
46215         (mm-mule-charset-to-mime-charset, mm-charset-after)
46216         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
46217         (mm-detect-coding-region): Define unconditionally.
46218         (mm-detect-mime-charset-region): Ditto.
46219         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
46220         (coding-system-name)
46221         (find-file-coding-system-for-read-from-filename)
46222         (find-operation-coding-system): Remove aliases.
46224 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46226         Remove some compat code from mm-*.el
46228         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
46230         * lisp/gnus/mm-decode.el (mm-tmp-directory)
46231         (mm-valid-image-format-p): Remove compat code.
46233         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
46234         "Connection" "Close" workaround for older Emacsen.
46236 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46238         Remove compat code and functions from message.el
46240         * lisp/gnus/message.el (message-send-mail-function): Remove
46241         compat code.
46242         (message-dont-reply-to-names, message-mode)
46243         (message-setup-fill-variables, message-fill-paragraph)
46244         (message-remove-blank-cited-lines, message-make-from)
46245         (message-forward-rmail-make-body, message-tool-bar-gnome)
46246         (message-tab): Remove compat code.
46247         (message-completion-in-region): Remove.
46248         (message-read-from-minibuffer): Remove compat code.
46250 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46252         Declare rfc1843 instead of autoloading
46254         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
46255         instead of autoload.
46257 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
46259         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
46261         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
46262         autoloaded correctly.  (Bug#22613)
46264 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
46266         Fix network-stream-tests.el for MS-Windows
46268         * test/lisp/net/network-stream-tests.el
46269         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
46270         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
46272 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
46274         Remove some Message compat functions
46276         * lisp/gnus/message.el (message-kill-all-overlays): Define
46277         unconditionally.
46278         (message-window-inside-pixel-edges): Remove.
46279         (mail-dont-reply-to): Remove.
46281 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46283         Remove some Gnus compat code
46285         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
46286         (gnus-mm-display-part): Ditto.
46288         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
46289         compat code.
46291 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46293         Sort groups before inserting them into the group buffer
46295         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
46296         Sort groups before inserting them.
46298 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46300         Make "unseen" tracking work again in Gnus
46302         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
46303         tracking work again.
46305 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46307         Remove Gnus compat functions defined in gnus.el
46309         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
46310         (gnus-extent-start-open, gnus-character-to-event)
46311         (gnus-assq-delete-all, gnus-add-text-properties)
46312         (gnus-put-text-property, gnus-key-press-event-p):
46314 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46316         Remove compat code from gnus-uu and win
46318         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
46319         compat code.
46321         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
46323         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
46325 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46327         Remove several gnus-util compat functions
46329         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
46330         (gnus-read-shell-command): Remove.
46331         (gnus-match-substitute-replacement): Remove.
46332         (gnus-string-match-p): Remove.
46333         (gnus-string-prefix-p): Remove.
46335 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46337         Remove the gnus-merge alias
46339         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
46341 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46343         Remove the gnus-union alias
46345         * lisp/gnus/gnus-util.el (gnus-union): Remove.
46347 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46349         Remove the gnus-delete-alist alias
46351         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
46352         (gnus-delete-alist): Remove.
46354 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46356         Remove the gnus-float-time alias
46358         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
46359         compat code.
46360         (gnus-float-time): Remove.
46362 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46364         Remove compat code from gnus-srvr, start and sum
46366         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
46367         compat code.
46369         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
46370         Remove compat code.
46372         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
46373         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
46374         (gnus-recenter)
46375         (gnus-summary-limit-strange-charsets-predicate)
46376         (gnus-summary-show-thread): Remove compat code.
46378 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46380         Remove compat code from gnus-spec.el
46382         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
46383         (gnus-balloon-face-function): Remove compat code.
46385 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46387         Fix compat change in last check-in
46389         * lisp/gnus/gnus-group.el
46390         (gnus-group-name-charset-group-alist): `find-coding-system'
46391         doesn't exist in Emacs.
46393 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46395         Always use url-queue
46397         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
46398         Always use url-queue.
46400 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46402         Remove compat functions from gnus-html.el
46404         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
46406 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46408         Remove compat code from gnus-group.el
46410         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
46411         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
46413 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46415         Define gnus-diary-kill-entire-line unconditionally
46417         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
46418         Define unconditionally.
46420 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46422         Remove compat code from gnus-cache and gnus-bookmark
46424         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
46426         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
46427         Remove compat code.
46429 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46431         Remove compat code from gnus-art.el
46433         * lisp/gnus/gnus-art.el (gnus-article-prepare)
46434         (gnus-mime-copy-part, gnus-output-to-file)
46435         (gnus-article-reply-with-original)
46436         (gnus-button-handle-apropos-variable)
46437         (gnus-button-handle-apropos-documentation):
46439 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46441         Remove compat code from gnus-agent.el
46443         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
46444         Remove compat code.
46446 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46448         Rewrite gmm-labels usage to use cl-labels
46450         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
46451         (gmm-labels): Remove.
46453 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46455         Remove compat code from canlock.el
46457         * lisp/gnus/canlock.el (defmacro): Remove
46459 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46461         Remove compat code from auth-source
46463         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
46464         Remove compat code.
46466 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46468         Fix gnus-group.el compilation warnings about unprefixed variables
46470         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
46471         compilation warnings by passing in the dynamic variables as
46472         explicit lexical parameters to `eval'.
46474 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46476         Fix the :tracker slot name
46478         * lisp/gnus/registry.el (registry-lookup-secondary): The
46479         `tracker' slot is called `tracker', not `:tracker'.
46481 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46483         Fix compilation warnings in gnus-art.el
46485         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
46486         (gnus-article-hide): Avoid compilation warnings.
46488 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46490         Fix compilation warning in gnus-score.el
46492         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
46493         compiler.
46495 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
46497         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
46499         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
46501         This makes nnimap groups not be activated.
46503 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46505         Fix encoding problem introduced by previous patch series
46507         * lisp/mail/rfc2047.el: Ditto (bug#22648).
46509         * lisp/mail/rfc2231.el: Fix problem created by the
46510         mm-replace-in-string conversion.
46512 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
46514         Revert "Avoid defvarring prefix-less variables"
46516         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
46518         The defvars are needed if we're doing lexical-binding
46520 2016-02-12  Glenn Morris  <rgm@gnu.org>
46522         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
46523         Make it pass.
46525         * test/lisp/url/url-auth-tests.el
46526         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
46528 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46530         Finish up cl-defmethoding registry,el
46532         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
46534 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46536         Revert the gnus-replace-in-string change, fix arguments, reapply
46538 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46540         Silence more message.el compilation warnings
46542         * lisp/gnus/message.el (message-generate-headers): Don't use
46543         variable values directly to get the header values, because
46544         that breaks with lexical binding (without unprefixed defvars).
46546 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46548         Fix various compilation warnings in message.el
46550         * lisp/gnus/message.el (message-fix-before-sending): Use
46551         read-multiple-choice instead of gnus-multiple-choice.
46552         (mm-util): Require.
46553         (rfc2047): Require.
46554         (message-remove-blank-cited-lines): Use message instead of
46555         gnus-message.
46556         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
46558 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46560         Silence compilation warning in mm-view
46562         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
46563         compilation warning.
46565 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46567         Fix epg-related compilation warnings in mml-sec
46569         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
46570         library.
46572 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46574         rmail-dont-reply-to-names is obsolete
46576         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
46577         the obsolete `rmail-dont-reply-to-names' variable.
46579 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46581         Partially revert the defmethod->cl-defmethod change in registry.el
46583         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
46584         since cl-defmethod doesn't work with :after.
46585         (initialize-instance): Ditto, but with :before.
46587 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46589         Avoid obsolete function in plstore
46591         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
46592         instead of the obsolete epg-context-set-armor.
46594 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46596         Use cl-defmethod in registry.el
46598         * lisp/gnus/registry.el: Use cl-defmethod instead of the
46599         obsolete defmethod.
46601 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46603         Make sieve-manage require sasl
46605         * lisp/net/sieve-manage.el: Fix compilation warning by
46606         requiring sasl.
46608 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46610         Avoid defvarring prefix-less variable
46612         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
46614 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46616         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
46618 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46620         Don't use the obsolete char-valid-p function
46622         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
46623         obsolete char-valid-p function.
46625 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46627         Fix missed translation in a previous commit
46629         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
46630         translation of mailcap-delete-duplicates.
46632 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46634         Avoid using mm-make-temp-file
46636         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
46638         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
46640         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
46642 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46644         Fix compilation warning in gnus-start
46646         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
46647         mm-make-temp-file.
46649 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46651         Avoid the obsoleted defmethod
46653         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
46654         defmethod.
46656 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46658         Avoid defvarring prefix-less variables
46660         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
46661         don't need to `defvar' the short variables to allow `eval' to
46662         use them.
46664 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46666         nnweb doesn't need unibyte buffers
46668         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
46669         (nnweb-read-overview, nnweb-request-article)
46670         (nnweb-google-reference): Unibyte buffers are not needed here.
46672 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46674         Encode before sending from nnspool
46676         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
46677         before sending it to the news server.
46679 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46681         nnrss buffers don't have to be unibyte
46683         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
46684         to be unibyte just to receive data, I think.
46686 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46688         Don't use mm-with-unibyte-current-buffer in mml2015
46690         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
46691         mm-with-unibyte-current-buffer.
46693 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46695         Don't use mm-with-unibyte-current in mml1991
46697         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
46698         mm-with-unibyte-current.
46700 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46702         Don't use mm-with-unibyte-current in mml1991
46704         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
46705         mm-with-unibyte-current.
46707 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46709         Don't use mm-with-unibyte-buffer in utf7
46711         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
46712         mm-with-unibyte-buffer.
46714 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46716         Remove XEmacs compat code from Gnus helper libraries
46718         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
46720         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
46722         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
46724         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
46726 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46728         Remove XEmacs compat code from Gnus backends
46730         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
46731         (mm-inline-image): Rename from mm-inline-image-emacs.
46733         * lisp/gnus/mml.el: Remove XEmacs compat code.
46735         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
46737         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
46738         XEmacs compat code.
46740         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
46742         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
46743         XEmacs compat code.
46745         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
46747         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
46749         * lisp/gnus/nntp.el: Remove XEmacs compat code.
46751 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46753         Remove XEmacs compat functions from mm-util.el
46755         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
46756         (mm-decode-coding-string, mm-encode-coding-string)
46757         (mm-decode-coding-region, mm-encode-coding-region): Remove.
46758         (mm-string-to-multibyte): Remove.
46759         (mm-char-or-char-int-p): Remove.
46760         (mm-ucs-to-char): Remove compat versions of the function.
46761         (mm-read-coding-system): Remove.
46762         (mm-coding-system-p): Remove compat code.
46763         (mm-enrich-utf-8-by-mule-ucs): Remove.
46764         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
46765         (mm-delete-duplicates): Remove.
46766         (mm-multibyte-p): Remove compat versions.
46767         (mm-xemacs-find-mime-charset-1): Remove.
46768         (mm-xemacs-find-mime-charset): Remove.
46769         (mm-make-temp-file): Made obsolete.
46770         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
46772 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
46774         Remove Message and mm-decode XEmacs compat code
46776         * lisp/gnus/message.el: Remove XEmacs compat code.
46778         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
46780         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
46782 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46784         Remove som XEmacs compat code from message.el
46786         * lisp/gnus/message.el: Remove some XEmacs compat code.
46788 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46790         Remove XEmacs compat code from ietf-drums.el
46792         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
46793         XEmacs compat.
46795 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46797         Remove XEmacs compat code from gravatar.el
46799         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
46800         gravatar.el.
46802 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46804         Remove more XEmacs compat code from Gnus
46806         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
46807         (gnus-timer--function): Remove.
46809         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
46810         19.2 compat.
46812         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
46814 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46816         Remove more XEmacs compat functions from gnus-util.el
46818         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
46819         (gnus-get-display-table): Remove.
46820         (gnus-format-message): Remove.
46822 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46824         Remove more XEmacs compat functions from Gnus
46826         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
46827         (gnus-previous-char-property-change): Remove.
46828         (gnus-graphic-display-p): Remove.
46829         (gnus-select-frame-set-input-focus): Remove.
46831 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46833         Remove more XEmacs compat code from gnus-util
46835         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46836         all its usages).
46837         (gnus-invisible-p): Remove.
46839 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46841         Remove gnus-make-local-hook
46843         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46844         all its usages).
46846 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46848         gnus-replace-in-string -> replace-regexp-in-string
46850         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
46851         obsolete.  Transform all usages of it into
46852         replace-regexp-in-string.
46854         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
46856 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46858         Remove Gnus XEmacs compat
46860         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
46861         about code that doesn't work in XEmacs.
46863         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
46865         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
46867 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46869         Remove compat functions in gnus-spec.el
46871         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
46872         (gnus-substring-function): Remove.
46873         (gnus-use-correct-string-widths): Remove.
46874         (gnus-make-format-preserve-properties): Remove.
46875         (gnus-xmas-format): Remove.
46877         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
46879 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46881         Remove Gnus XEmacs compat functions
46883         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
46885         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
46887         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
46889 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46891         Remove Gnus XEmacs compatibility
46893         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
46894         XEmacs compat.
46896         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
46898         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
46900         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
46901         XEmacs compat.
46903         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
46905         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
46907         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
46909         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
46911 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46913         Don't use image-map if it isn't defined
46915         * lisp/net/shr.el (shr-image-map): Only use image-map as a
46916         parent if it's defined (bug#22614).
46918 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46920         Check for MagickAutoOrientImage
46922         * configure.ac: Check for MagickAutoOrientImage.
46924         * src/image.c (imagemagick_load_image): Don't use
46925         MagickAutoOrientImage unless it's available.
46927 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
46929         Document EXIF image rotation
46931         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
46933 2016-02-10  Dima Kogan  <dima@secretsauce.net>
46935         Support integer image rotation and respect EXIF rotations
46937         * src/image.c (imagemagick_load_image): Allow integer rotations in
46938         addition to floating point rotations (bug#22591).
46939         * src/image.c (imagemagick_load_image): Images that have an
46940         orientation given in EXIF and have no explicit :rotation tag are now
46941         pre-rotated.  All information such as width/height is reported for the
46942         rotated image.
46944 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
46946         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
46948 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46950         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
46952 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46954         Remove compat code from gnus-bookmark.el
46956         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
46957         (gnus-bookmark-remove-properties): Remove.
46959 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46961         Remove XEmacs compat code from gnus-a*.el
46963         * lisp/gnus/gnus-agent.el: Remove compat code.
46965         * lisp/gnus/gnus-art.el: Remove compat code.
46967         * lisp/gnus/gnus-async.el: Remove compat code.
46969 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46971         Remove gmm compat functions
46973         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
46974         (gmm-write-region): Remove.
46975         (gmm-called-interactively-p): Remove.
46977 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46979         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
46981 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46983         Remove compat code from compface.el
46985         * lisp/image/compface.el: Remove XEmacs compat code throughout.
46987 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46989         Remove the now empty gnus-ems.el and references to it
46991 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
46993         Remove Gnus compat names for mouse bindings
46995         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
46996         (gnus-down-mouse-2): Remove.
46997         (gnus-down-mouse-3): Remove.
46999 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47001         Drop Gnus compat functions
47003         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
47005         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
47007         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
47009 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47011         Get rid of gnus-ems-redefine
47013         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
47015 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47017         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
47019 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47021         Remove Gnus compat code
47023         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
47024         transitional code from ten years ago.
47026 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47028         Allow interactively scaling past :max-width etc
47030         * lisp/image.el (image--current-scaling)
47031         (image--image-without-parameters): New functions.
47032         (image--change-size): Use them to allow changing the size of a
47033         image even if it has :width/:max-width (etc.) already set.
47035 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47037         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
47039 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47041         Allow accessing the image commands via shr
47043         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
47044         accessing the image commands.
47046         * lisp/net/shr.el (shr-image-map): New map used for images.
47047         (shr-urlify): Don't overwrite image maps when applying URL maps.
47049 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47051         Use a sparse image keymap
47053         * lisp/image.el (image-map): Use a sparse keymap.
47055 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47057         Put a keymap on images created with insert-image and friends
47059         * lisp/image.el (image-save): New command.
47060         (image-rotate): Ditto.
47061         (image-map): New keymap.
47062         (insert-image): Put the image-map on all images.
47063         (insert-sliced-image): Ditto.
47064         * doc/lispref/display.texi (Showing Images): Document the
47065         image map.
47067 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47069         Fix some folding issues in read-multiple-choice
47071         * lisp/subr.el (read-multiple-choice): Fix folding when you
47072         have many items.
47074 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47076         Fix typo in last checkin
47078 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47080         Remove Gnus compat functions
47082         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
47083         (gnus-region-active-p, gnus-select-lowest-window)
47084         (gnus-summary-display-table, gnus-max-width-function): Remove
47085         compat functions.
47087 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47089         Move non-compat Gnus functions to gnus-util.el
47091         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
47092         (gnus-create-image, gnus-image-type-available-p): Move here
47093         from gnus-ems.el, since these aren't compat functions.
47095 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47097         Omit valloc decl if redundant
47099         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
47100         to pacify --enable-gcc-warnings.
47102 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
47104         Restore the calloc family.
47106         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
47107         They were lost in a4817d8 but calloc is still (marginally) used in
47108         code statically liked with emacs, so hybrid_calloc is needed.
47109         Also, in the non-hybrid case, we can't get rid of calloc anyway as
47110         other libraries liked with emacs may need it.
47111         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
47113 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
47115         Remove some Gnus compat functions
47117         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
47118         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
47119         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
47121 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47123         -
47125         -
47127 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47129         Merge from origin/emacs-25
47131         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
47132         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
47133         51c77a2 Display non-ASCII group names better in prompts
47134         f93d669 Default to gpg2 instead of gpg
47136 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47138         Merge from origin/emacs-25
47140         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
47141         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
47142         3db6adb * lisp/isearch.el (search-default-mode)
47143         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
47144         c77ffc8 Use monitor's resolution for positioning tooltips
47145         49e5749 Fix file-notify-test on MS-Windows
47146         be1d874 Fix issues found by auditing w32notify code
47147         87ae218 Extend etags Ruby support for accessors
47148         aa35257 Update publicsuffix.txt.
47149         6816bff Ensure that Gnus dribble handling allows removing entries
47150         691feae Be consistent when using encoded strings in nnimap data
47151         3ed423b Display the decoded Gnus group name
47152         5428b5b Use completion-ignore-case instead of defining command
47154 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47156         Merge from origin/emacs-25
47158         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
47159         d333716 ; * etc/NEWS: Expand news entry for scss-mode
47160         c32c16f ; Better document changes in ls-lisp default behavior
47161         dc6eed2 Fix doc string of tls-program
47163 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47165         Merge from origin/emacs-25
47167         2c117fc * etc/NEWS: Document new mpc.el features
47168         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
47169         9dfece1 Correctly fontify C++ initializations which "look like" functions.
47170         4485222 Improve newsticker-treeview-selection-face
47171         4236944 Minor fix in tagging Ruby accessors by etags
47172         35fc77d Spelling fixes
47173         3dda110 Remove 'def X' from the example
47175 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
47177         Fix network-stream-tests on MS-Windows
47179         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
47180         Skip if local sockets are not supported.
47182 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
47184         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
47186 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
47188         Disable 'timer-list'
47190         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
47191         command.
47193 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
47195         Avoid aligned_alloc static/extern collision
47197         * src/alloc.c (aligned_alloc): Define to private name when a
47198         static function, to avoid collision with lisp.h extern decl.
47199         Reported by John Yates in:
47200         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
47202 2016-02-08  David Edmondson  <dme@dme.org>
47204         src/process.c Correctly convert AF_INET6 addresses
47206         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
47207         converted to a list of 16 bit quantities by
47208         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
47209         same scheme rather than expecting a (longer) list of 8 bit
47210         quantities.
47212 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
47214         Make `message-beginning-of-line' aware of folded headers
47216         * lisp/gnus/message.el (message-beginning-of-header): New function which
47217         moves point to the beginning of a mail header.  The function is aware of
47218         folded headers and with non-nil argument looks for the true beginning of
47219         a header while with nil argument moves to the indented text of header's
47220         value.
47221         (message-beginning-of-line): Function is now aware of folded headers and
47222         either moves point to the indention of a header or, in visual-line-mode,
47223         searches for the beginning of the header.
47225 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
47227         Optimize ‘point in message header’ check
47229         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
47230         regular expression matches with a single bound string match thus
47231         reducing amount of work the function is doing.
47233 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47235         Make the `R' command get the correct relative <img>s
47237         * lisp/net/eww.el (eww-readable): Preserve the base URL so
47238         that image expansions are fetched from the right place (bug#22605).
47240 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47242         Add a mode to list and cancel timers
47244         * doc/lispref/os.texi (Timers): Menton `timer-list'.
47246         * lisp/emacs-lisp/timer-list.el: New file.
47248 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47250         Add new commands to allow changing the size of images
47252         * lisp/image.el (image-increase-size, image-decrease-size):
47253         New commands.
47254         (image-change-size): New function.
47256 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47258         Allow the image scale to be a floating point number
47260         * src/image.c (compute_image_size): The scale can be a
47261         floating point number.
47263 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47265         Add an IPv6 test
47267         * test/lisp/net/network-stream-tests.el
47268         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
47270 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47272         Use gnutls-serv instead of openssh
47274         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
47275         gnutls-serv instead of openssh.
47277 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47279         Skip TLS tests if we don't have openssl
47281         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
47282         TLS tests if we don't have openssl and GnuTLS.
47284 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47286         Add an IPv6 test
47288         * test/lisp/net/network-stream-tests.el
47289         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
47291 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
47293         Use gnutls-serv instead of openssh
47295         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
47296         gnutls-serv instead of openssh.
47298 2016-02-08  Daniel Colascione  <dancol@dancol.org>
47300         Performance improvements for vc-hg
47302         Teach vc-hg how to read some Mercurial internal data structures,
47303         allowing us to avoid the need to run hg status -A, which is very slow
47304         for large repositories.  Fall back to running hg if anything looks
47305         funny.  vc-hg now puts the _working directory_ revision in the
47306         modeline instead of the file revision, which greatly improves
47307         performance and which allows us to again skip running hg in the case
47308         that we have an active bookmark.
47310         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
47311         (vc-hg-symbolic-revision-styles)
47312         (vc-hg-use-file-version-for-mode-line-version)
47313         (vc-hg-parse-hg-data-structures): New user preferences
47314         (vc-hg--active-bookmark-internal, vc-hg--run-log)
47315         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
47316         (vc-hg--read-u8, vc-hg--read-u32-be)
47317         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
47318         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
47319         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
47320         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
47321         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
47322         (vc-hg--ignore-patterns-valid-p)
47323         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
47324         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
47325         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
47326         (vc-hg-state-fast): New functions.
47327         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
47328         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
47329         (vc-hg--dirstate-scan-cache): New internal variables.
47330         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
47331         before updating modeline.
47333 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47335         Skip TLS tests if we don't have openssl
47337         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
47338         TLS tests if we don't have openssl and GnuTLS.
47340 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47342         Automatically scale images up on high-density screens
47344         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
47345         (Defining Images): Mention image-scaling-factor.
47347         * lisp/image.el (image-compute-scaling-factor): New function
47348         (bug#22172).
47349         (create-image): Use it.
47350         (image-scaling-factor): New variable.
47352         * src/image.c (compute_image_size): Take :scale into account.
47354 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47356         Ensure progress when fetching from the queue
47358         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
47359         that we have progress when fetching queued requests (bug#22576).
47361 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47363         Make mail-extract-address-components return the user name more
47365         * lisp/mail/mail-extr.el (mail-extract-address-components):
47366         Return the name even if it's the same as the mailbox name (if
47367         `mail-extr-ignore-single-names' isn't set) (bug#22594).
47369 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47371         Message no longer warns about unknown top level domains
47373 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
47375         Add tests for url-auth
47377         * test/lisp/url/url-auth-tests.el: New file.
47379 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47381         Add a TLS connection test
47383         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
47384         a TLS connection test.
47386 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47388         Add more network tests
47390         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47391         New test.
47393 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47395         Add network tests
47397         * test/lisp/net/network-stream-tests.el: New suite of network tests.
47399 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47401         Add a TLS connection test
47403         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
47404         a TLS connection test.
47406 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47408         Add more network tests
47410         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47411         New test.
47413 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47415         Add network tests
47417         * test/lisp/net/network-stream-tests.el: New suite of network tests.
47419 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
47421         Allow various Gnus and Message address variables to be functions
47423         * doc/misc/gnus.texi (To From Newsgroups):
47424         gnus-ignored-from-addresses can be a function.
47426         * doc/misc/message.texi (Wide Reply):
47427         message-dont-reply-to-names can be a function.
47429         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
47430         message-alternative-emails can be a function.
47432         * lisp/gnus/gnus-notifications.el (gnus-notifications):
47433         message-alternative-emails can be a function (bug#22315).
47435         * lisp/gnus/gnus-sum.el
47436         (gnus-summary-from-or-to-or-newsgroups):
47437         gnus-ignored-from-addresses can be a function (bug#22315).
47439 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
47441         Fix typo in Gnus regexp
47443         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
47444         typo in last change to this regexp (bug#22592).
47446 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
47448         Port to FreeBSD x86
47450         Reported by Herbert J. Skuhra in:
47451         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
47452         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
47453         since malloc always returns a multiple of 8 in FreeBSD.
47455 2016-02-07  Alan Mackenzie  <acm@muc.de>
47457         On leaving CC Mode, clean up by removing character properties.
47459         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
47460         all instances of the text properties/extents category, syntax-table,
47461         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
47463 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
47465         message-valid-fqdn-regexp no longer exists
47467         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
47468         the no-longer-existing message-valid-fqdn-regexp variable.
47470 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
47472         Remove message-valid-fqdn-regexp, since it changes too much now
47474         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
47475         (message-bogus-recipient-p): Don't use it any more.
47476         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
47478 2016-02-06  Paul van der Walt  <paul@denknerd.org>
47480         Match "Re :" as a "Re:" prefix
47482         * lisp/gnus/message.el (message-subject-re-regexp): Also match
47483         "Re :" as a "Re:" prefix (commonly used in France).
47485 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
47487         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
47489         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
47491 2016-02-06  David Edmondson  <dme@dme.org>
47493         src/process.c Correctly convert AF_INET6 addresses
47495         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
47496         converted to a list of 16 bit quantities by
47497         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
47498         same scheme rather than expecting a (longer) list of 8 bit
47499         quantities.
47501 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
47503         Search for host/port combinations in auth-source on OS X
47505         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
47506         Search for all host/port (or protocol) combinations for a match in
47507         the OS X keychain.
47509 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
47511         Remove nonsensical setting of gnus-newsgroup-unseen
47513         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
47514         setting of gnus-newsgroup-unseen.
47516 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
47518         Use underline on all terminals that support it
47520         * lisp/subr.el (read-multiple-choice): Use
47521         display-supports-face-attributes-p instead of
47522         display-graphic-p to determine whether we can use underlining.
47524 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
47526         Make the nsm query say what it did after the user interaction
47528         * lisp/net/nsm.el (nsm-query): Issue a message about
47529         aborting/accepting messages (suggested by N. Jackson)
47530         (bug#22531).
47532 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
47534         Omit XLI (init) == 0 optimization in make-vector
47536         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
47537         == 0) case, as this optimization is probably not worth the hassle.
47538         Just for the record, the test for that case could have been
47539         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
47540         assuming the typical platform with no padding bits and where
47541         conversion to int omits the most significant bits.
47543 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
47545         * autogen.sh: Port to dash (Bug#22556).
47547 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
47549         Minor cleanup for Tramp "doas".
47551         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
47553         * etc/NEWS: Add Tramp connection method "doas".
47555         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
47556         Add `tramp-remote-shell-args'.
47558 2016-02-05  Xi Lu  <lx@shellcodes.org>
47560         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
47562         (tramp-default-user-alist): Add rule for "doas".
47563         (top): Completion function for "doas" is
47564         `tramp-completion-function-alist-su'.
47566 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47568         Restore the window configuration
47570         * lisp/net/nsm.el (nsm-query-user): Restore the window
47571         configuration (bug#22532).
47573 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47575         Use an X popup in read-multiple-choice if running from a mouse command
47577         * lisp/subr.el (read-multiple-choice): Use an X popup if
47578         called from a mouse action (bug#19368).
47580 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47582         Display cursor in echo area when prompting
47584         * lisp/subr.el (read-multiple-choice): Display the cursor in
47585         the echo area when prompting (bug#19368).
47587 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47589         Make NSM prompting clearer
47591         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
47592         to prompt in a nicer way (bug#19368).
47594 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47596         Underline read-multiple-choice-face
47598         * lisp/faces.el (read-multiple-choice-face): Also underline
47599         the choice.
47601 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47603         Make url.el use async DNS
47605         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
47607         * src/process.c (syms_of_process): Add a `dns' subfeature for
47608         make-network-process.
47610 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47612         Only do async DNS if requested with :nowait 'dns
47614         * doc/lispref/processes.texi (Network Processes): Mention the
47615         dns value of :nowait.
47617         * src/process.c (Fmake_network_process): Only do async DNS if
47618         :nowait is `dns'.
47620 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47622         Add sanity check for checking async DNS
47624         * src/process.c (check_for_dns): Disregard processes that have
47625         already been killed.
47627 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47629         Make the read-multiple-choice prompt a bit prettier
47631         * doc/lispref/commands.texi (Reading One Event): Mention
47632         read-multiple-choice-face.
47634         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
47635         prettier.
47637 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47639         Prefer memcpy and memset to doing it by hand
47641         * src/alloc.c (Fmake_vector):
47642         * src/ccl.c (setup_ccl_program):
47643         Use memset to clear array.
47644         * src/alloc.c (Fvector, Fmake_byte_code):
47645         * src/charset.c (Fdefine_charset_internal):
47646         Use memcpy to copy array.
47648 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
47650         Do not ignore redirections of 301, 302 and 307 status codes
47652         The current version of HTTP/1.1 (RFC 7231) no longer requires
47653         confirmation on 301, 302 or 307 status codes, therefore we do not have
47654         to ignore redirects for other requests than GET and HEAD.
47656         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
47657         and 307 redirects for other requests than GET and HEAD.
47659 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
47661         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
47663 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47665         Simplify USE_ALIGNED_ALLOC
47667         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
47668         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
47670 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
47672         Honor docstring of gnus-group-get-new-news
47674         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
47675         is t, but non-numeric, unconditionally consider all groups to need
47676         updating.
47678 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
47680         New function read-multiple-choice
47682         * doc/lispref/commands.texi (Reading One Event): Document
47683         read-multiple-choice.
47685         * lisp/faces.el (read-multiple-choice-face): New face.
47687         * lisp/subr.el (read-multiple-choice): New function.
47689 2016-02-03  John Wiegley  <johnw@newartisans.com>
47691         Merge from origin/emacs-25
47693         ee73997 Make erc work better when encountering unknown prefix chars
47694         b99141d Make erc completion case-insensitive again
47695         66c4620 Make complection in erc use consistent casing
47696         8c562b2 Make /QUIT in erc more robust
47697         d93d2c5 Make tracking faces in Emacs work more reliably
47698         af6ab7e Make shr not bug out on images on non-graphical displays
47699         3311f40 Fix bookmark display widths
47700         d90ab1e Fix typo in eww-make-unique-file-name
47701         7f81825 Make it possible to TAB to input fields
47702         a43a1dc Insert complete alt texts when images are disabled
47703         56ed4e1 Allow eww text fields to grow
47704         66b315c Make erc work when subword-mode is switched on
47705         255b68f Fix IMAP doc example
47706         91557f5 Quoting fixes in doc strings and diagnostics
47707         2c0dc9f Fix warning message in hack-local-variables
47708         504696d Etags: yet another improvement in Ruby tags
47709         8784ebf Fix x-popup-menu on TTYs without a mouse
47710         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
47711                 pcase macro
47712         6191003 Use pop-to-buffer-same-window in eww
47713         fe321fd * autogen.sh: Revert all recent changes.
47714         74ebd4a * make-dist: Updates related to nt/.
47715         737193a * make-dist: Add modules/.
47716         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
47717         a4278e2 Fix failure to compile ns-win.el in parallel builds
47718         860da4d Fix names of tags generated for Ruby accessors
47719         f6213ce Fix file-name recognition in 'etags'
47720         e42e662 Change Ruby file names and extensions recognized by 'etags'
47721         58bfb6a More improvements for Ruby support in 'etags'
47722         c04e911 Add --git-config option to autogen.sh
47723         5713466 Fix editing undo changes in eww fields
47724         51362d6 Allow the user more control of popping up the eww window
47725         ee0fbd8 Make eww-browse-url with new-window parameter work again
47726         9c3142d Clean up eww code slightly
47727         cb035f3 Don't insert nil faces in shr
47728         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
47729         93f2153 Improve the custom type of some user options.
47730         9f60d7e Mark some risky calendar variables.
47731         1d07dcd Highlight two additional SCSS keywords
47732         ee8b466 Recommend enabling integrity-checking in git
47733         e639e10 Some corrections in Elisp manual
47734         d766ca8 Chatter when autogen.sh changes Git configuration
47735         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
47736         43cb9f8 Omit unnecessary history from Lisp intro
47737         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
47738         c90e1b4 Improve elisp “Security Considerations” doc
47739         cedd7ca autogen.sh now arranges for git to check hashes
47740         86ce76b ; Fix ChangeLog.2 commit ID.
47741         7b1d2b1 Fix (c & 040) typo in emergency escapes
47742         a8273da Fix display of overlay strings with 'display' and 'box' property
47743         fc48106 Fix imap-starttls-open
47744         cdecbed Fix return value of imap-starttls-open
47745         20c7e34 ; * etc/NEWS: Fix renamed command name
47746         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
47747         b250d29 Spelling fix
47748         b920a0e Spelling fixes
47749         93b144b Pacify GCC on C library without glibc API
47751 2016-02-03  John Wiegley  <johnw@newartisans.com>
47753         Merge from origin/emacs-25
47755         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
47756                 priority of non-free Chrome.
47757         0fac75f Improve the custom type of some user options.
47758         2df0e04 Highlight CSS variables with variable name face
47759         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
47760                 user-serviceable.
47761         2a5233c Mark some user options that can get evalled as risky.
47762         39b166f Disable DebPrint in sys_read on MS-Windows
47763         9fd0189 ;Fix ChangeLog entry
47764         4bb7233 Fix typos in Introduction to Emacs Lisp manual
47766 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
47768         Add a new command to switch between erc buffers
47770         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
47771         * etc/NEWS: Mention new command
47772         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
47773         (eww-mode-map): Add menu item
47774         (eww-switch-to-buffer): New command
47776 2016-02-03  David Edmondson  <dme@dme.org>
47778         Make erc work better when encountering unknown prefix chars
47780         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
47781         instead of erroring out on unknown prefix chars (bug#22380).
47783 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
47785         Allow sending empty hidden values in eww
47787         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
47788         values (bug#22388).
47790 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
47792         Remove packages obsoleted before Emacs 24.
47794         In accordance with the policy discussed in the emacs-devel list,
47795         packages that have been obsoleted for a full major release cycle are up
47796         for deletion.
47798         This removes almost all packages that are now eligible for deletion,
47799         with the exception of "cl-compat", which seems it is likely to still be
47800         used, and "optional", which offers some functionality that doesn't have
47801         a replacement yet.
47803 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
47805         Mention context when resume from emergency escape
47807         That way, if the user has been doing something else for a while,
47808         they are reminded of the situation when restarting Emacs,
47809         and are more likely to understand the two questions.
47810         * doc/emacs/trouble.texi (Emergency Escape): Document this.
47811         * src/keyboard.c (handle_interrupt): Implement this.
47813 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
47815         Port aligned_alloc decl to Cygwin.
47817         Problem reported by Ken Brown (Bug#22522#38).
47818         * configure.ac (aligned_alloc): Check for decl too.
47819         * src/lisp.h (aligned_alloc): Declare if not already declared.
47821 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47823         autogen.sh now configures git only on request
47825         * autogen.sh (do_autoconf, do_git): New vars.
47826         Support new arguments --help, all, autoconf, git.
47827         By default, just do autoconf-related configuration, not git.
47828         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
47829         If GNU cp is available, use it to backup .git/config before
47830         changing it.  When configuring git, chatter about what is being
47831         done, and configure git to check hashes.  Avoid some duplicate
47832         file name specification when creating git hooks.
47834         * GNUmakefile (ALL_IF_GIT): New macro.
47835         (configure): Use it.
47836         * INSTALL.REPO: Suggest './autogen.sh all'.
47838 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
47840         Doc fixes and refactorings based on comments from Eli Zaretskii
47842         * doc/lispref/processes.texi (Network Processes): Clarify the
47843         meaning of :tls-parameters.
47845         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
47847         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
47848         own function.
47849         (gnutls-negotiate): Use it.
47850         (open-gnutls-stream): Ditto.
47852         * src/eval.c (vformat_string): Refactor out the printing bits
47853         from verror.
47854         (verror): Use it.
47856         * src/gnutls.c (boot_error): Mark failed processes with the
47857         real error message.
47859         * src/lisp.h: Declare vformat_string.
47861 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47863         Build with C11 if available
47865         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
47866         * m4/std-gnu11.m4: New file, from gnulib.
47867         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47869 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47871         Update gnulib copy
47873         * doc/misc/texinfo.tex: Copy from gnulib.
47875 2016-02-02  Glenn Morris  <rgm@gnu.org>
47877         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
47878         Doc tweaks.
47880 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47882         Port better to platforms lacking aligned_alloc
47884         Problem reported by Ken Brown (Bug#22522).
47885         * src/lisp.h (hybrid_aligned_alloc)
47886         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
47888 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47890         Port malloc.h hygiene fix to LTO
47892         * src/alloc.c (__malloc_initialize_hook):
47893         Make it externally visible (Bug#22522).
47895 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
47897         Build fix for --enable-check-lisp-object-type
47899         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
47900         Mitsuharu.
47902 2016-02-01  Glenn Morris  <rgm@gnu.org>
47904         Make find-change-log prefer a VCS root, if no ChangeLog exists.
47906         * lisp/vc/add-log.el (change-log-directory-files): New option.
47907         (find-change-log): Respect change-log-directory-files.
47908         * doc/emacs/maintaining.texi (Change Log Commands):
47909         Mention change-log-directory-files.
47911 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
47913         Boot parameter check fix
47915         * src/process.c (send_process): Fix test for boot parameters noted
47916         by Andy Moreton.
47918 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
47920         Double static heap size.
47922         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
47923         small on FreeBSD (Bug#22086).
47925 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
47927         Fix Bug#20821
47929         * lisp/net/tramp.el (tramp-file-name-handler):
47930         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
47931         Use `tramp-drop-volume-letter'.  (Bug#20821)
47933 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47935         Style fix
47937 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47939         Return the correct server port number
47941         * src/process.c (connect_network_socket): Return the correct
47942         server port number.
47944 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47946         Fix autoconf test for getaddrinfo_a
47948         * configure.ac: Make the test for getaddrinfo_a work.
47950 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47952         Better async error reporting
47954         * src/process.c (connect_network_socket): Mark failed processes
47955         with a better error message.
47956         (check_for_dns): Ditto.
47958 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47960         Clarify :tls-parameters.
47962 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47964         Always boot TLS if given parameters
47966         * src/process.c (connect_network_socket): If we have the TLS
47967         parameters, then boot the socket.
47969 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47971         Add documentation for :tls-parameters
47973         * doc/lispref/processes.texi (Network Processes): Mention
47974         :tls-parameters.
47976         * src/process.c (Fmake_network_process): Document the
47977         :tls-parameters parameter.
47979 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47981         Build fix for glibc systems.
47983 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
47985         Make network connections work again on non-glibc systems
47987         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
47988         keywords in directly so that they can be used when doing
47989         synchronous DNS on non-synchronous connections.
47991         * lisp/net/network-stream.el (open-network-stream): Allow
47992         passing in the TLS parameters directly.
47994         * src/process.c (conv_numerical_to_lisp): New function to convert
47995         numerical addresses to Lisp.
47996         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
47997         paths so that they work again.
47998         (syms_of_process): Build fix for non-glibc systems.
48000 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
48002         Windows build fix
48004         * src/process.c (Fmake_network_process): Build fix for systems
48005         without local sockets.
48007 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
48009         Use XCAR/XCDR instead of Fcar etc
48011 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
48013         Fix GC problem in async TLS connection
48015         * src/process.h: All Lisp_Object slots have to come first,
48016         otherwise they won't be protected from gc.
48018 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
48020         Further TLS async work
48022         * src/gnutls.c (boot_error): New function to either signal an
48023         error or return an error code.
48024         (Fgnutls_boot): Don't signal errors when running asynchronously.
48026         * src/process.h (pset_status): Move here from process.c to be
48027         able to use from gnutls.c.
48029         * src/process.c (connect_network_socket): Do the TLS boot here
48030         when running asynchronously.
48031         (wait_reading_process_output): Rework the dns_processes
48032         handling for more safety.
48034 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
48036         Clean up dead code
48038         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
48040 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
48042         Add ability to give rcirc servers an alias name
48044         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
48045         customization option.
48046         (rcirc, rcirc-connect): Take server alias into account.
48048 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
48050         Port new hybrid malloc to FreeBSD
48052         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
48053         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
48054         (__morecore) [HYBRID_MALLOC]: Define in this case too.
48056 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
48058         * configure.ac: Stop using mmap for buffers for FreeBSD.
48060 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
48062         Merge changes from Tramp repository
48064         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
48065         No EXTRA_OPTS needed.
48067         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
48068         branch, especially for @trampfn{}.
48069         (Top): Move @ifnottex down.
48070         (History): XEmacs support has been removed.
48071         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
48072         (Auto-save and Backup): Use both syntax versions.
48073         (File name Syntax): Remark on IPv6 adresses is valid for
48074         unified syntax only.
48076         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
48078 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48080         Spelling fixes
48082 2016-01-30  Glenn Morris  <rgm@gnu.org>
48084         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
48086 2016-01-30  Matthew Carter  <m@ahungry.com>
48088         Quote table names for postgres listings (sql-mode)
48090         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
48091           unquoted table names to the completion list.
48093 2016-01-30  Glenn Morris  <rgm@gnu.org>
48095         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
48097         * lisp/vc/smerge-mode.el (smerge-diff-switches)
48098         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
48099         (smerge-upper, smerge-upper-face, smerge-keep-upper)
48100         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
48101         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
48102         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
48103         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
48104         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
48105         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
48106         Update all uses.
48107         (smerge-basic-map): Add "l" and "u" bindings.
48108         (smerge-mode-menu): Update menu bindings for renaming.
48109         (smerge-font-lock-keywords): Update face names.
48110         (smerge-match-names): Update names.
48111         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
48112         (smerge-match-conflict, smerge-ediff): Rename local variables.
48113         (smerge-makeup-conflict): Relabel markers.
48114         (smerge-parsep-re): Use renamed variables.
48116 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48118         Port recent my_edata change to MS-Windows
48120         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
48122 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48124         Rework the mechanisms for async GnuTLS connections
48126         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
48127         gnutls-boot parameters and pass them to the process object.
48128         (gnutls-negotiate): New parameter :return-keywords that won't
48129         connect to anything, just compute the keywords.
48131         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
48132         hack, which is no longer necessary.
48134         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
48135         gnutls-mark-process.
48137         * src/process.c (connect_network_socket): If we're connecting to
48138         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
48140         * src/process.h: New parameter gnutls_async_parameters.
48142 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48144         Fix segfault from double free
48146         * src/process.c (check_for_dns): Protect against double free
48147         issues.
48149 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48151         Remove debugging
48153 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48155         Implement asynchronous GnuTLS connections
48157         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
48158         the nowait parameter.
48160         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
48161         connections with the new nowait parameter.
48163         * lisp/net/network-stream.el (network-stream-open-tls): Pass
48164         on :nowait to open-gnutls-stream.
48166         * lisp/url/url-http.el (url-http): Don't overwrite the
48167         sentinel created by open-gnutls-stream.
48169         * src/gnutls.c (Fgnutls_mark_process): New function.
48171         * src/process.c (send_process): Don't write to GnuTLS sockets that
48172         haven't been initialized yed.
48174         * src/process.h: New slot gnutls_wait_p.
48176 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48178         Tell Automake the new lib/Makefile.am is OK
48180         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
48182 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48184         Make it easy to override preferred-branch test
48186         * Makefile.in (preferred-branch-is-current):
48187         Rename from emacs-25-branch-is-current.  All uses changed.
48188         (PREFERRED_BRANCH): New macro.
48190 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48192         Shrink static heap a bit
48194         * src/sheap.h: Include lisp.h, for Lisp_Object.
48195         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
48196         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
48197         conservative than the old value.
48198         (Bug#22086)
48200 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48202         Fix extern symbols defined and not used
48204         * src/alloc.c: Always include <signal.h>.
48205         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
48206         Do not define; unused.
48207         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
48208         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
48209         to avoid collision with glibc.  Now static.  All uses changed.
48210         * src/lastfile.c (my_edata): Define only if
48211         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
48212         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
48213         (Bug#22086)
48215 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48217         Build lib/e-*.o only on platforms that need it
48219         * configure.ac (hybrid malloc): Simplify configuration.
48220         (SHEAP_OBJ): Remove; no longer needed.
48221         (HYBRID_MALLOC): New var. Subst it.
48222         (HYBRID_MALLOC_LIB): New Automake conditional.
48223         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
48224         HYBRID_MALLOC_LIB.
48225         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
48226         (MOSTLYCLEANFILES): Add libegnu.a.
48227         * src/Makefile.in (SHEAP_OBJ): Remove.
48228         (HYBRID_MALLOC): New macro.
48229         (base_obj): Use it to conditionally add sheap.o.
48230         (LIBEGNU_ARCHIVE): New macro.
48231         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
48232         All uses of the latter replaced by the former.
48233         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
48234         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
48235         * src/gmalloc.c: Update comment.
48236         * src/lisp.h (aligned_alloc)
48237         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
48238         New decl.
48239         (Bug#22086)
48241 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48243         Include <malloc.h> when advisable
48245         This should help insulate us better from future glibc changes.
48246         It is good hygiene to include .h files for APIs that Emacs uses.
48247         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
48248         * configure.ac: Check for malloc.h.
48249         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
48250         not on DOUG_LEA_MALLOC.
48251         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
48252         Remove decl (now in lisp.h).
48253         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
48254         [emacs]: Include lisp.h.
48255         [HAVE_MALLOC_H]: Include <malloc.h>.
48256         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
48257         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
48258         (__default_morecore):
48259         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
48260         (calloc): Make it clear that the macro should not be used.
48261         Remove unused decl.
48262         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
48263         (__morecore, __default_morecore, __after_morecore_hook)
48264         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
48265         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
48266         Remove later decls.
48267         (gmalloc_hook, gfree_hook, grealloc_hook):
48268         Rename from __malloc_hook, __free_hook, __realloc_hook to
48269         avoid type collision with glibc <malloc.h>.  All uses changed.
48270         (gmalloc_hook):
48271         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
48272         Now static.
48273         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
48274         (__malloc_initialize_hook, __after_morecore_hook):
48275         Declare with types compatible with glibc.
48276         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
48277         Remove.  All uses removed.
48278         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
48279         * src/ralloc.c, src/vm-limit.c:
48280         Simplify includes and include <malloc.h> if available.
48282 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48284         * src/alloc.c: Include "sheap.h".
48286         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
48287         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
48288         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
48289         Declare unconditionally.
48290         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
48291         (unexec): Don’t set or clear bss_sbrk_did_unexec;
48292         the caller now does this.
48293         (Bug#22086)
48295 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48297         Pacify --enable-gcc-warnings when HYBRID_MALLOC
48299         * src/buffer.c (init_buffer):
48300         * src/emacs.c (main):
48301         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
48302         Use emacs_get_current_dir_name, not get_current_dir_name.
48303         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
48304         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
48305         * src/emacs.c: Include "sheap.h".
48306         (report_sheap_usage): Remove decl.
48307         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
48308         Don't assume ptrdiff_t can be printed as int.
48309         * src/gmalloc.c [HYBRID_MALLOC]:
48310         Include "sheap.h" rather than declaring its contents by hand.
48311         (get_current_dir_name, gget_current_dir_name)
48312         (hybrid_get_current_dir_name): Remove.
48313         (emacs_abort): Remove duplicate decl.
48314         (aligned_alloc): Undef, like malloc etc.
48315         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
48316         Make it a bit more efficient.
48317         (malloc_find_object_address): Remove unused decl.
48318         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
48319         (mstats, memory_warnings): Declare only if GC_MCHECK.
48320         * src/lisp.h (emacs_get_current_dir_name):
48321         New decl, replacing get_current_dir_name.
48322         * src/sheap.c: Include sheap.h first.
48323         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
48324         (debug_sheap): Now static.
48325         (bss_sbrk_buffer_end): Remove; no longer used.
48326         (bss_sbrk_ptr): Now static and private.
48327         (bss_sbrk_did_unexec): Now bool.
48328         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
48329         (bss_sbrk): Don't treat request_size 0 as special, since the code
48330         works without this being a special case.
48331         Avoid overflow if request size exceeds INT_MAX.
48332         (report_sheap_usage): Remove; now done in emacs.c.
48333         * src/sheap.h: New file.
48334         * src/sysdep.c (get_current_dir_name): Remove macro.
48335         Include "sheap.h".
48336         (emacs_get_current_dir_name): Rename function from
48337         get_current_dir_name.  Handle HYBRID_MALLOC here;
48338         this is simpler.
48339         (Bug#22086)
48341 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48343         Report static heap usage on non-Cygwin, too
48345         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
48346         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
48347         on platforms other than Cygwin (Bug#22086).
48349 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48351         Pacify GCC on extern decls
48353         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
48354         to pacify recent GCC (Bug#22086).
48356 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
48358         Add musl patch to support HYBRID_MALLOC on elf systems
48360         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
48361         (__default_morecore): Here, in particular.
48362         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
48363         New variable SHEAP_OBJ.
48364         * src/Makefile.in: Use it.
48365         (Bug#22086)
48367 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
48369         unexelf.c hook to support HYBRID_MALLOC on ELF
48371         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
48372         Define bss_sbrk_did_unexec (Bug#22086).
48374 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
48376         Link temacs with gnulib compiled with -Demacs
48378         This is done to support HYBRID_MALLOC, since some static variables
48379         (e.g., last_environ in putenv.c) hold pointers to memory malloced
48380         before dumping (Bug#22086).
48381         * lib/Makefile.am: Add incantation to install libegnu.a.
48382         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
48383         (temacs$(EXEEXT)): Use it.
48385 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
48387         Internal linkage for gmalloc etc. if HYBRID_MALLOC
48389         This avoids clashes with symbols if the after-dump malloc is
48390         derived from Doug Lea's implementation (Bug#22086).
48392         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
48393         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
48394         declarations below to `static' ones.
48395         (aligned_alloc): Declare for !MSDOS as well.
48396         (heapsize, _fraghead): Move resp. copy declaration downwards.
48397         For HYBRID_MALLOC, conditionalize out the other definitions,
48398         since the previous `static' declarations double as tentative
48399         definitions, anyway.
48400         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
48401         (__realloc_hook, __memalign_hook): Conditionalize out.
48402         (cfree, memalign, valloc): Ditto.
48404 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48406         -
48408         -
48410         -
48412 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48414         Merge from origin/emacs-25
48416         3f481ad Rename xref-query-replace to xref-query-replace-in-results
48417         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
48418         2111e0e Comment out next-error-function integration in xref
48419         4e11ad3 Correct a use of "which" in intro.texi
48420         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
48421         76045f7 Don't operate on menu bar of nonexistent frame
48422         c32f3bc Unbreak the GNUstep build.
48424 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
48426         -
48428         -
48430 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
48432         Re-enable checks in member, memql, delete to complain about non-lists
48434         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
48436 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48438         Clean up compilation warnings
48440 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
48442         Make async resolution more efficient
48444         * src/process.c (wait_reading_process_output): Use a list of
48445         process objects instead of looping through an array to check
48446         for name resolution.  This should be much faster.
48448 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48450         More async memory leaks
48452         * src/process.c (check_for_dns): Free even more allocated async stuff.
48454 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48456         Compilation for for systems with getaddrinfo_a
48458         * src/process.c (Fmake_network_process): Make stuff work again on
48459         systems with getaddrinfo_a.
48461 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48463         Save correct server data
48465         * src/process.c (connect_network_socket): Save the correct contact
48466         info for servers.
48468 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48470         Compilation for for non-GNU systems
48472         * src/process.c (Fmake_network_process): Make compilation work
48473         again on hosts that don't have getaddrinfo_a.
48475 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48477         Avoid memory leaks in async DNS
48479         * src/process.c (check_for_dns): Free async DNS resources after
48480         they've been used.
48482 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48484         * src/process.c (check_for_dns): Free the result data.
48486 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48488         Fix server connections
48490         * src/process.c (Fmake_network_process): Make creating server
48491         listening ports work again.
48493 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48495         Further make_network_process clean up
48497         * src/process.c (Fmake_network_process): Remove setting of unused
48498         family variable.
48500 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48502         Clean up GETADDRINFO usage in make-network-process
48504         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
48505         handling.
48507 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
48509         Implement asynchronous name resolution
48511         * src/process.c (Fmake_network_process): Do asynchronous DNS
48512         lookups if we have getaddrinfo_a and the user requests :nowait.
48513         (check_for_dns): New function.
48514         (wait_reading_process_output): Check for pending name
48515         resolution in the idle loop.
48517         * src/process.h: Add structure for async DNS.
48519 2016-01-28  Glenn Morris  <rgm@gnu.org>
48521         Remove some useless-use-of eval.
48523         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
48524         * lisp/gnus/nnrss.el (xml): Simply require it.
48525         (xml-rpc-method-call): Use declare-function.
48527 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48529         Fix memory leak
48531         * src/process.c (connect_network_socket): Free previous sockaddr
48532         before allocating a new one.
48534 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48536         Return IP addresses in the correct order
48538         * src/process.c (Fmake_network_process): Return the IP addresses
48539         in the same order as getaddrinfo does.
48540         (set_network_socket_coding_system): Clean up the code slightly.
48542 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48544         Add checks for getaddrinfo_a
48546         * configure.ac: Detect getaddrinfo_a.
48548 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
48550         Refactor make_network_process
48552         * src/process.c (set_network_socket_coding_system)
48553         (connect_network_socket): Refactor out of
48554         make_network_process to allow calling connect_network_socket
48555         asynchronously.
48556         (Fmake_network_process): Do nothing but parsing the parameters
48557         and name resolution, leaving the connection to
48558         connect_network_socket.
48560 2016-01-28  Glenn Morris  <rgm@gnu.org>
48562         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
48563         Warn if defcustom has no type.  (Bug#16276)
48565 2016-01-27  Glenn Morris  <rgm@gnu.org>
48567         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
48569 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48571         (rng-c-fix-escaped-newlines): Use subst-char-in-string
48573         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
48574         Use subst-char-in-string.
48576 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48578         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
48580         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
48581         (sgml-calculate-indent): Use it.
48583 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48585         * lisp/org: Fix some compiler warnings
48587         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
48588         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
48589         (*this*): Declare as dyn-bound.
48590         (org-babel-expand-src-block, org-babel-load-in-session)
48591         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
48592         Mark unused args.
48593         (org-babel-combine-header-arg-lists): Remove unused var `args'.
48594         (org-babel-find-named-block): Remove unused var `msg'.
48596         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
48597         Declare as dyn-bound.
48598         (org-edit-src-code): Remove unused var `lfmt'.
48599         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
48601 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
48603         * lisp/font-lock.el: Use #' to quote function symbols
48605 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
48607         Improve user name completion in Tramp
48609         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
48610         Call also "getent passwd" or "getent group", if possible.
48611         (tramp-parse-putty): Cache the result.
48613 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
48615         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
48617 2016-01-20  Glenn Morris  <rgm@gnu.org>
48619         Remove handling of non-string time-stamp formats, obsolete for 20 years.
48621         * lisp/time-stamp.el (time-stamp-format): Doc fix.
48622         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
48623         (time-stamp-string): Ignore non-string formats.
48625 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
48627         Anoter fix for problematic merge from emacs-25
48629         * src/w32fns.c (globals_of_w32fns): Move initialization of
48630         resetstkoflw to a non-Cygwin part.
48632 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
48634         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
48636 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
48638         Fix MS-Windows build broken by a botched merge from emacs-25
48640         * src/w32.c (w32_crypto_hprov): New static variable.
48641         (globals_of_w32): Initialize w32_crypto_hprov.
48642         (w32_init_crypt_random, w32_init_random): New functions.
48643         Include wincrypt.h.
48644         * src/w32.h (w32_init_random): Add prototype.
48646 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48648         Correct a whole bunch of bugs coming with renamed cell relocation.
48650         * lisp/ses.el (ses-localvars): rename variable
48651         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
48652         and adjust the comment about it.
48653         (ses-plist-delq): new defun.
48654         (ses--ses-buffer-list): new defvar.
48655         (ses--unbind-cell-name): new defun.
48656         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
48657         (ses-relocate-formula): Undo change of
48658         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
48659         preventing relocation for named cell --- now doing this is delegated
48660         to function `ses-relocate-symbol'.
48661         (ses-relocate-range): In docstring, undo change of
48662         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
48663         lower case as it is not a variable.
48664         (ses-relocate-all): Cell name relocation : 1) check that cell is a
48665         renamed cell by testing `ses-cell' property to :ses-named, rather than
48666         comparing name to corresponding standard name. Set rowcol of renamed
48667         cell into the hashmap --- `ses-cell' property must not be used for
48668         that as the same name can be used for different locations in different
48669         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
48670         `local-variable-p' to check if cell name is already in use in this
48671         sheet or needs initialization.
48672         (ses-relocate-all): Cell value relocation : 1) like for name
48673         relocation use the `ses-cell' property rather than comparing actual
48674         name to corresponding standard name. 2) Correct bug introduced in
48675         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
48676         made the other way round than the intention --- ie value relocation
48677         was disabled for standard cell, not for renamed cell as was the
48678         intention.
48679         (ses-relocate-all): Add loop for unbinding deleted renamed cells
48680         names.
48681         (ses-killbuffer-hook): new defun.
48682         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
48683         kill buffer hook, plus pushing current buffer if new in list.
48684         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
48685         into `ses--in-killing-named-cell-list'.
48686         (ses-rename-cell): Remove update of variable
48687         `ses--renamed-cell-symb-list', this variable is renamed to
48688         `ses--in-killing-named-cell-list', and its setting is done in
48689         functions `ses-delete-row' and , `ses-delete-column' now.
48690         (ses-rename-cell): Change correction of
48691         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
48692         computation of the range over which `cursor-intangible' property was
48693         to be updated. This correction was ok for non spilling cells, but not
48694         for cells spilling over following blank cells. Simply use
48695         `next-single-property-change' rather than computing the end column
48696         from column widths.
48698 2016-01-18  John Wiegley  <johnw@newartisans.com>
48700         -
48702 2016-01-18  John Wiegley  <johnw@newartisans.com>
48704         Merge from origin/emacs-25
48706         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
48707         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
48708         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
48709         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
48710         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
48711         86e4513 Fix incompatbilities with MS-Windows 2000 and older
48712         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
48713         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
48714         39afa42 Fix tests for active region in hideif.el
48715         05df666 Fix interactive specs in some hideif.el commands
48717 2016-01-18  John Wiegley  <johnw@newartisans.com>
48719         -
48721 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48723         Avoid stdio in SIGINT handler
48725         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
48726         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
48727         * lib/ignore-value.h: New file, from gnulib.
48728         * src/keyboard.c: Include it.
48729         (write_stdout, read_stdin): New functions.
48730         (handle_interrupt): Use them instead of printf and getchar,
48731         and avoid fflush when handling signals.
48733 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
48735         Refactor mml-smime.el, mml1991.el, mml2015.el
48737         (Maybe this is the last merge from Gnus git to Emacs git)
48739         Cf. discussion on ding mailing list, messages in
48740         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
48741         Common code from the three files mml-smime.el, mml1991.el, and
48742         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
48743         to gnus-util.el.
48745         The code is supported by test cases with necessary test keys.
48747         Documentation in message.texi is updated.
48749         * doc/misc/message.texi (Security, Using S/MIME):
48750         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
48751         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
48752         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
48754         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
48755         New functions.
48757         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
48758         (epa--select-keys): Autoload.
48759         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
48760         (mml-secure-openpgp-signers): New user option;
48761         make mml1991-signers and mml2015-signers obsolete aliases to it.
48762         (mml-secure-smime-signers): New user option;
48763         make mml-smime-signers an obsolete alias to it.
48764         (mml-secure-openpgp-encrypt-to-self): New user option;
48765         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
48766         aliases to it.
48767         (mml-secure-smime-encrypt-to-self): New user option;
48768         make mml-smime-encrypt-to-self an obsolete alias to it.
48769         (mml-secure-openpgp-sign-with-sender): New user option;
48770         make mml2015-sign-with-sender an obsolete alias to it.
48771         (mml-secure-smime-sign-with-sender): New user option;
48772         make mml-smime-sign-with-sender an obsolete alias to it.
48773         (mml-secure-openpgp-always-trust): New user option;
48774         make mml2015-always-trust an obsolete alias to it.
48775         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
48776         New user options.
48777         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
48778         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
48779         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
48780         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
48781         (mml-secure-passphrase-callback, mml-secure-check-user-id)
48782         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
48783         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
48784         (mml-secure-fingerprint, mml-secure-filter-keys)
48785         (mml-secure-normalize-cust-name, mml-secure-select-keys)
48786         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
48787         (mml-secure-self-recipients, mml-secure-recipients)
48788         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
48790         * lisp/gnus/mml-smime.el: Require epg;
48791         refactor declaration and autoloading of epg functions.
48792         (mml-smime-use): Doc fix.
48793         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
48794         Obsolete.
48795         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
48796         Use format instead of gnus-format-message.
48797         (mml-smime-epg-secret-key-id-list): Remove variable.
48798         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
48799         (mml-smime-epg-find-usable-secret-key): Remove functions.
48800         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
48802         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
48803         (mml1991-passphrase-cache-expiry): Obsolete.
48804         (mml1991-epg-secret-key-id-list): Remove variable.
48805         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
48806         (mml1991-epg-find-usable-secret-key): Remove functions.
48807         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
48809         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
48810         (mml2015-passphrase-cache-expiry): Obsolete.
48811         (mml2015-epg-secret-key-id-list): Remove variable.
48812         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
48813         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
48814         (mml2015-epg-find-usable-secret-key): Remove functions.
48815         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
48816         (mml2015-epg-encrypt): Refactor.
48818 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
48820         Merge from gnulib
48822         This mostly just updates copyright dates of gnulib files.
48823         It also updates to the latest version of texinfo.tex.
48825 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
48827         Move variables to inner loop, preparing for Mac port merge
48829         * src/keyboard.c (command_loop_1): Move variables `cmd',
48830         `keybuf', and `i' to inner loop.
48832 2016-01-17  Bill Wohler  <wohler@newt.com>
48834         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
48836 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48838         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
48840         (syntax-ppss):
48841         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
48843 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48845         lisp/nxml: Use syntax-tables for comments
48847         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
48848         (nxml-mode): Set syntax-ppss-table.
48849         Use sgml-syntax-propertize-function for syntax-propertize-function.
48850         Let font-lock highlight strings and comments.
48851         (nxml-degrade): Don't touch "nxml-inside" property any more.
48852         (nxml-after-change, nxml-after-change1): Remove functions.
48853         (comment): Don't set fontify rule any more.
48854         (nxml-fontify-attribute): Don't highlight the value any more.
48855         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
48856         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
48858         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
48859         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
48860         (nxml-clear-inside, nxml-set-inside): Remove.
48861         (nxml-scan-after-change): Remove function.
48862         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
48863         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
48864         (nxml-move-outside-backwards):
48865         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
48866         nxml-inside-start behavior.
48868         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
48869         (nxml-debug-clear-inside): Remove macros.
48871         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
48872         (xmltok-scan-after-comment-open): Simplify.
48874 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48876         * lisp/progmodes/elisp-mode.el
48877         (elisp--font-lock-flush-elisp-buffers): Fix comment
48879 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48881         * lisp/nxml: Use standard completion; it also works for company-mode
48883         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
48884         (nxml-completion-at-point-function): Remove.
48885         (nxml-mode): Don't set completion-at-point-functions.
48886         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
48887         (rng-completion-at-point): Rename from rng-complete and mark it
48888         non-interactive.  It is now to be used as completion-at-point-function.
48889         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
48890         (rng-complete-attribute-value): Don't perform completion, but return
48891         completion data instead.
48892         (rng-complete-qname-function, rng-generate-qname-list): Add a few
48893         arguments, previously passed via dynamic coping.
48894         (rng-strings-to-completion-table): Rename from
48895         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
48896         sorting and uniquifying.
48898         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
48899         (rng-completion-exact-p, rng-quote-string): Delete functions.
48901         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
48902         (rng-missing-attributes-message, rng-missing-element-message)
48903         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
48904         calling rng-quote-string everywhere.
48906 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
48908         Use sgml-electric-tag-pair-mode also in nxml-mode
48910         * lisp/nxml/rng-nxml.el: Require sgml-mode.
48911         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
48912         (rng-complete-qname-function): Use complete-with-action.
48914         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
48915         Let-bind forward-sexp-function, since nxml-mode binds it to
48916         something incompatible.
48918         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
48920 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48922         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
48923         opener.
48925         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
48926         marker on the "sole --" rather than on the comment opener.
48928 2016-01-15  Sam Steingold  <sds@gnu.org>
48930         replace `tramp-compat-split-string' (removed) with `split-string'
48932         (python-shell-tramp-refresh-process-environment)
48933         (python-shell-calculate-pythonpath): use `split-string'
48934         instead of defunct `tramp-compat-split-string'
48936 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48938         Update nXML to use Emacs's Unicode support, and lexical-binding
48940         * etc/nxml/*.el: Remove obsolete char-name files.
48941         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
48942         var `next'.
48943         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
48944         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
48945         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
48946         (nxml-target-section-pos, nxml-depth-in-target-section)
48947         (nxml-outline-state-transform-alist)
48948         (nxml-outline-display-section-tag-function): Move decl before first use.
48949         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
48950         (nxml-char-name-alist, nxml-char-name-table)
48951         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
48952         (nxml-enable-char-name-set, nxml-disable-char-name-set)
48953         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
48954         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
48955         (nxml-insert-named-char): Use read-char-by-name instead.
48956         (nxml-char-ref-display-extra): Use get-char-code-property.
48957         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
48958         Remove function.
48959         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
48961 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
48963         Add "sg" method to Tramp
48965         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
48966         (Customizing Completion): Add function `tramp-parse-etc-group'.
48968         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
48969         (tramp-completion-function-alist-sg): New defconst.
48970         (top): Completion function for "sg" is
48971         `tramp-completion-function-alist-sg'.
48973         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
48974         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
48976 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
48978         Remove XEmacs compatibility in Tramp
48980         * doc/misc/tramp.texi: Replace flags by their hard coded name.
48981         Remove unused flags and the enclosed alternative text for XEmacs.
48983         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
48984         and "xemacs" flags to "unified" and "separate".  Remove flags
48985         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
48986         "emacsothername", "emacsotherdir" and "emacsotherfilename".
48987         (trampver):
48988         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
48990         * lisp/net/tramp.el (bkup-backup-directory-info)
48991         (directory-sep-char, ls-lisp-use-insert-directory-program)
48992         (outline-regexp, tramp-backup-directory-alist)
48993         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
48994         (tramp-file-name-regexp-unified)
48995         (tramp-file-name-regexp-separate)
48996         (tramp-completion-file-name-regexp-unified)
48997         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
48998         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
48999         (tramp-debug-message, tramp-progress-reporter-update)
49000         (with-tramp-progress-reporter)
49001         (tramp-rfn-eshadow-setup-minibuffer)
49002         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
49003         (tramp-rfn-eshadow-update-overlay)
49004         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
49005         (tramp-file-name-for-operation)
49006         (tramp-completion-file-name-handler)
49007         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
49008         (tramp-handle-directory-files)
49009         (tramp-handle-directory-files-and-attributes)
49010         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
49011         (tramp-handle-insert-file-contents, tramp-handle-load)
49012         (tramp-handle-shell-command)
49013         (tramp-handle-verify-visited-file-modtime)
49014         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
49015         (tramp-check-for-regexp, tramp-wait-for-regexp)
49016         (tramp-send-string, tramp-mode-string-to-int)
49017         (tramp-get-local-gid, tramp-check-cached-permissions)
49018         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
49019         (auto-save-file-name-transforms)
49020         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
49021         (tramp-clear-passwd, tramp-time-diff):
49022         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
49023         (directory-sep-char, tramp-adb-file-name-handler-alist)
49024         (tramp-adb-parse-device-names)
49025         (tramp-adb-handle-expand-file-name)
49026         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
49027         (tramp-adb-handle-file-local-copy)
49028         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
49029         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
49030         (tramp-adb-handle-shell-command)
49031         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
49032         (tramp-adb-maybe-open-connection):
49033         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
49034         (tramp-cache-print):
49035         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
49036         (tramp-bug, tramp-reporter-dump-variable)
49037         (tramp-load-report-modules, tramp-append-tramp-buffers):
49038         * lisp/net/tramp-compat.el (tramp-compat-funcall)
49039         (tramp-advice-file-expand-wildcards)
49040         (tramp-compat-temporary-file-directory)
49041         (tramp-compat-make-temp-file, tramp-compat-copy-file)
49042         (tramp-compat-delete-directory, )
49043         (tramp-compat-process-running-p):
49044         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
49045         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
49046         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
49047         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
49048         (tramp-gvfs-handle-file-local-copy)
49049         (tramp-gvfs-handle-file-name-all-completions)
49050         (tramp-gvfs-handle-file-notify-add-watch)
49051         (tramp-gvfs-monitor-file-process-filter)
49052         (tramp-gvfs-handle-file-readable-p)
49053         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
49054         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
49055         (tramp-gvfs-maybe-open-connection)
49056         (tramp-gvfs-parse-device-names):
49057         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
49058         (tramp-gw-open-connection, tramp-gw-open-network-stream):
49059         * lisp/net/tramp-sh.el (directory-sep-char)
49060         (tramp-sh-file-name-handler-alist)
49061         (tramp-sh-handle-file-truename)
49062         (tramp-sh-handle-set-visited-file-modtime)
49063         (tramp-sh-handle-verify-visited-file-modtime)
49064         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
49065         (tramp-sh-handle-file-acl)
49066         (tramp-sh-handle-file-name-all-completions)
49067         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
49068         (tramp-do-copy-or-rename-file-directly)
49069         (tramp-do-copy-or-rename-file-out-of-band)
49070         (dired-compress-file-suffixes, dired-remove-file)
49071         (tramp-sh-handle-dired-compress-file)
49072         (tramp-sh-handle-insert-directory)
49073         (tramp-sh-handle-expand-file-name)
49074         (tramp-sh-handle-start-file-process)
49075         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
49076         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
49077         (tramp-sh-handle-file-notify-add-watch)
49078         (tramp-sh-gvfs-monitor-dir-process-filter)
49079         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
49080         (tramp-find-executable)
49081         (tramp-open-connection-setup-interactive-shell)
49082         (tramp-find-inline-encoding, tramp-compute-multi-hops)
49083         (tramp-maybe-open-connection, tramp-convert-file-attributes)
49084         (tramp-get-remote-path, tramp-get-remote-touch):
49085         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
49086         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
49087         (tramp-smb-handle-delete-directory)
49088         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
49089         (tramp-smb-handle-make-directory-internal)
49090         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
49091         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
49092         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
49093         (tramp-smb-get-cifs-capabilities)
49094         (tramp-smb-maybe-open-connection):
49095         * lisp/net/trampver.el (tramp-repository-get-version):
49096         Remove XEmacs compat code.
49098         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
49099         (reporter-dump-variable): Declare functions.
49101         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
49102         (tramp-advice-minibuffer-electric-separator)
49103         (tramp-advice-minibuffer-electric-tilde)
49104         (tramp-handle-unhandled-file-name-directory):
49105         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
49106         (tramp-compat-font-lock-add-keywords)
49107         (tramp-compat-load, tramp-compat-number-sequence)
49108         (tramp-compat-split-string, tramp-compat-delete-dups):
49109         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
49110         Remove.
49112         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
49113         recursively.
49115 2016-01-14  K. Handa  <handa@gnu.org>
49117         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
49119         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
49120         second glyph only when there are enough glyphs.
49122 2016-01-13  Glenn Morris  <rgm@gnu.org>
49124         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
49126         or its hook, to move point.  (Bug#22348)
49128 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
49130         Merge missing commit from emacs-25 branch
49132         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
49133         New variables.
49134         (check-expensive, check-doit): New targets.
49136         * Makefile.in (check-expensive): New target.
49138         * test/lisp/autorevert-tests.el
49139         (auto-revert-test01-auto-revert-several-files):
49140         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
49141         (file-notify-test06-many-events):
49142         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
49143         (tramp-test27-start-file-process, tramp-test28-shell-command)
49144         (tramp-test29-vc-registered)
49145         (tramp-test31-special-characters-with-stat)
49146         (tramp-test31-special-characters-with-perl)
49147         (tramp-test31-special-characters-with-ls)
49148         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
49149         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
49150         (tramp-test35-unload): Tag the tests as :expensive-test.
49152 2016-01-11  John Wiegley  <johnw@newartisans.com>
49154         Merge from origin/emacs-25
49156         1f6898d test/automated/vc-hg.el: Support out-of-tree build
49157         3adb56e Minor change in tramp-tests.el
49158         2b535ba ; * etc/NEWS: Update the js.el entry.
49159         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
49160         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
49161         36b9539 Avoid an infloop when we run out of memory
49162         2006752 Avoid unnecessary failures of auto-saving after fatal error
49163         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
49164         552694a Revert attempt to use 'noexcept' in typedef
49165         6ad0d39 Update documentation of 'indirect-function'
49166         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
49167         303141a Update documentation for obsoleting 'syntax-begin-function'
49168         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
49169         e667bbb Document new features if Eshell
49170         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
49171         1089dc9 Handle too long commands in Tramp
49172         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
49173         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
49174         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
49175         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
49176         cca0f93 ; Account for spaces before the filename
49177         c71e1e8 Use short date for 'hg annotate', and output the author
49178         f50027b Spelling fix
49179         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
49180         cc140bc Document user-level functions in project.el
49181         f8208b6 Document the user-level features of the Xref package
49182         b131fb8 * loading.texi: Add `define-type' entry for load-history
49183         db3c2a8 Improve doc strings and prompts in xref.el
49184         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
49185         90fd798 Fix coding system for Tramp on OS X.
49186         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
49187         9dfcbf0 Update 'load-history' docs
49188         207e191 Fix (error ...) error
49189         457738f Correctly analyze brace arguments in templated C++ function declarations.
49190         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
49191         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
49192         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
49193         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
49194         4b37cba Improve documentation of Delete Selection mode
49195         a034dd3 Fix two project-find-file issues
49196         30abf29 Clarify doc string of 'dired-current-directory'
49197         e990bb2 Use the face of preceding text for displaying the ellipsis
49198         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
49199         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
49200         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
49201         648de81 ; Add NEWS entry for project.el
49202         671862f apropos-library: Skip obvious duplicates; don't error on generics
49203         51668a5 ; Grammar fix
49204         ed41d11 Add project-find-file and project-or-external-find-file
49205         056da45 ; Improve commentary in 'setup_for_ellipsis'
49206         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
49208 2016-01-11  John Wiegley  <johnw@newartisans.com>
49210         Merge from origin/emacs-25
49212         ce4a052 Add defvar-local to lisp-imenu-generic-expression
49213         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
49214         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
49215         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
49216         b6b47af Properly encode/decode base64Binary data in SOAP
49217         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
49218         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
49219                 Update the URI of MELPA and marmalade-repo.
49220                 Reported by CHENG Goa <chenggao@royau.me> in
49221                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
49222         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
49223         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
49224         7380990 Remove function wrongly on AWK Mode value of context
49225         fontification hook.
49226         d400753 * src/buffer.c: Stick with ASCII in doc string.
49227         221240c Reword transient-mark-mode doc string
49228         977d3ea Update doc string of 'selective-display'
49229         229c3fa Make C++ buffers writeable when writing their initial text
49230                 properties.
49231         f5c762c Additional changes for "make check-expensive"
49232         1729cf3 ; * admin/MAINTAINERS: Remove myself.
49233         33219d3 Apply text properties for <, > in new after-change function
49234                 (C++ Java Modes).
49236 2016-01-11  John Wiegley  <johnw@newartisans.com>
49238         Merge from origin/emacs-25
49240         9fb185a shr-tag-video bug fix
49241         6300655 Minor fixes in tramp-tests.el
49242         50575b1 Ensure redisplay when 'truncate-lines' is set
49243         0d9e80d Fix a doc string of 'transient-mark-mode'
49244         0000ae5 MS-Windows followup to latest gnulib update
49245         4bc5e02 Spelling fix
49246         f1093f7 Do secure signed Bcc handling
49248 2016-01-11  John Wiegley  <johnw@newartisans.com>
49250         Merge from origin/emacs-25
49252         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
49253         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
49254         71ea138 * lisp/align.el (align): Simplify a lambda
49255         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
49256         1f680db Fix compilation next-error in buffers with selective-display
49257         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
49258         1da116f Add SHA1 warnings for high network security settings
49259         e48bacd ; * etc/NEWS: Typo fix.
49261 2016-01-11  John Wiegley  <johnw@newartisans.com>
49263         Merge from origin/emacs-25
49265         43662a2 ; Clarify that xref is still experimental
49266         0a6e6ca ; * admin/release-process: Remove some obsolete records.
49267         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
49268         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
49269         0a7ad07 ; Re-arrange xref-related entries in NEWS.
49270         fe903ef Fix xref-find-references on MS-Windows
49271         55a28d8 ; Fixed visual bell artifact problem on NextStep.
49272         d064034 Document new features of tildify-mode
49273         964bea7 Document new features of Whitespace mode
49274         cd68f47 Improve documentation of new Hide-IfDef features
49275         723b8bf Fix regression in font-locking cl-assert and cl-check-type
49277 2016-01-11  John Wiegley  <johnw@newartisans.com>
49279         Merge from origin/emacs-25
49281         ef33bc7 Spelling and grammar fixes
49282         9c3dbab Fix copyright years by hand
49283         0e96320 Update copyright year to 2016
49285 2016-01-11  John Wiegley  <johnw@newartisans.com>
49287         Merge from origin/emacs-25
49289         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
49290         526d80c Port chart.el methods to cl-generic.
49291         410bb69 Add nt/INSTALL.W64 build instructions
49292         8f5b524 Add new input method 'programmer-dvorak'
49293         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
49294         bb83bb1 Fix EWW rendering of long RTL lines
49295         b1a8509 fix  bug#21054
49296         ce5ad12 Clean up cairo printing code
49298 2016-01-11  John Wiegley  <johnw@newartisans.com>
49300         Merge from origin/emacs-25
49302         6ee327d Add handle_user_signal_hook
49303         47580e0 Avoid writing to purespace
49304         0588be7 Remove unused variable
49305         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
49306         3b95e9c Use posix_openpt instead of openpty on Darwin
49307         86312ff Document support for ':documentation' in Lisp mode
49308         c930e75b Document new features of TeX mode
49309         7c83d84 Clarify docs of hscroll in RTL text
49310         4c8f8db Fix rendering of HTML pages that use character composition
49311         a8d37ca Avoid some compiler warnings in w32.c
49312         ce106f3de Undo ill-advised change
49313         be0bba4 Unbreak completion in python-mode buffers
49315 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
49317         Adding example replies to bug-triage.
49319         * admin/notes/bug-triage: Added example replies. Also, as requested,
49320           making the process notes into more of a checklist.
49322 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
49324         Rename the notes/admin/triage file to bug-triage.
49326         * CONTRIBUTE: Change reference to the triage file name.
49327         * admin/notes/triage: Rename file to admin/notes/bug-triage.
49329 2016-01-08  K. Handa  <handa@gnu.org>
49331         Fix outdated comments.
49333 2016-01-06  Glenn Morris  <rgm@gnu.org>
49335         Allow creation of loaddefs files without timestamps.
49337         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
49338         (autoload-generate-file-autoloads, update-directory-autoloads):
49339         If autoload-timestamps is nil, write "t" instead of file timestamp.
49340         (autoload-find-destination, update-directory-autoloads):
49341         If timestamp is "t", use the modtime of the output file instead.
49343 2016-01-06  Glenn Morris  <rgm@gnu.org>
49345         Doc tweaks.
49347         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
49348         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
49349         (calendar-iso-from-absolute):
49350         * lisp/calendar/cal-tex.el (cal-tex-comment):
49351         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
49353 2016-01-06  Glenn Morris  <rgm@gnu.org>
49355         Build tweaks related to tags files.
49357         * lib-src/Makefile.in (tagsfiles): New variable.
49358         (TAGS): Also depend on the source files.  Use our own etags program.
49359         * lisp/Makefile.in (ETAGS): Add EXEEXT.
49360         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
49361         Remove.
49362         (tagsfiles): New, replacing lisptagsfiles1 etc.
49363         Remove irrelevant source files here rather than in the TAGS rule.
49364         (${ETAGS}): New rule.
49365         (TAGS): Also depend on the etags executable.
49366         * lwlib/Makefile.in (EXEEXT): New, set by configure.
49367         (ETAGS): Add EXEEXT.
49368         (${ETAGS}): New rule.
49369         (ctagsfiles): Use "wildcard".
49370         (TAGS): Also depend on the etags executable.
49371         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
49372         (${ETAGS}): New rule.
49373         (TAGS): Fix dependencies.
49374         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
49375         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
49376         Remove "-t" argument.
49377         (${ETAGS}): New rule.
49378         (tagsfiles): New variable.
49379         (TAGS): New rule, with proper dependencies.
49380         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
49381         (ctagsfiles1, ctagsfiles2): Use "wildcard".
49382         (ctagsfiles3): Remove.
49383         (TAGS): Depend on etags.
49384         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
49385         directories decide if updates are needed.
49387 2016-01-06  Glenn Morris  <rgm@gnu.org>
49389         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
49391 2016-01-06  Glenn Morris  <rgm@gnu.org>
49393         * test/lisp/emacs-lisp/package-tests.el
49395         (package-test-macro-compilation): Fixup branch merge.
49397 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
49399         Fix fallout from merging emacs-25 branch in test/
49401         * .gitignore: Update for the new place of biditest.txt.
49402         * test/automated/: Directory removed.  All files moved to their
49403         proper places.
49404         * test/etags/: Directory removed.  All files moved to their proper
49405         places.
49406         * test/automated/url-parse-tests.el: File removed; it was an exact
49407         copy of the same file in test/lisp/url/.
49408         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
49410 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49412         Spelling fixes
49414 2016-01-04  Daniel Colascione  <dancol@dancol.org>
49416         Let users disable unsafe signal handling code
49418         * src/keyboard.c (syms_of_keyboard): New user variables
49419         `attempt-stack-overflow-recovery' and
49420         `attempt-orderly-shutdown-on-fatal-signal'.
49421         * src/sysdep.c (stack_overflow): Check
49422         `attempt-stack-overflow-recovery'.
49423         * src/emacs.c (terminate_due_to_signal): Check
49424         `attempt-orderly-shutdown-on-fatal-signal'.
49426 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
49428         * configure.ac: Add error message for gfile on Nextstep.
49430 2016-01-02  John Wiegley  <johnw@newartisans.com>
49432         Merge branch 'emacs-25-merge'
49434 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49436         Align textually on fix done for emacs-25 branch for bug#21054
49438         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
49439         and useless `(if t ...)' in order to align textually on fix done for
49440         emacs-25 branch for bug#21054.
49442 2016-01-01  K. Handa  <handa@gnu.org>
49444         support rendering of wider range of combinging characters by ftfont backend
49446         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
49447         supports rendering of combining characters, call
49448         font-shape-gstring.
49450         * src/font.c (Ffont_get): Handle `combining-capability' property.
49451         (syms_of_font): New symbol ":combining-capability'.
49453         * src/font.h (struct font_driver): New member combining_capability.
49455         * src/ftfont.c: Include "category.h".
49456         (ftfont_driver): Initialize combining_capability to
49457         ftfont_combining_capability.
49458         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
49459         FLT in advance.
49460         (ftfont_combining_capability): New function.
49462 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
49464         Add notes on bug triage procedure
49466         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
49467         * admin/notes/triage: New file explaining triage procedure.
49469 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49471         Correct ses-rename-cell cursor-intangible text prop updating.
49473         There were two problems:
49475         - First ses-rename-cell has to work when called non interactively
49476           (with non-nil CELL argument), so in this case the start pos of
49477           put-text-property cannot be plainly (point), you need a
49478           ses-goto-print call before
49480         - Second, the range itself was computed erronously, only the first
49481           char was affected instead of the full cell width. This was not
49482           noticeable prior to changes (Deprecate `intangible' and
49483           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
49485         * lisp/ses.el (ses-rename-cell): Correct computation of position range
49486         to which the 'cursor-intangible text property has to be set to cell
49487         new name.
49489 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49491         Don't fake empty cells value by "" when printing with a lambda.
49493         When using a lambda expression printer function the user should be
49494         free to format differently a really empty cell, ie. containing nil,
49495         from a cell containing an empty string "".
49497         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
49498         `value' in the case of a lambda expression printer function.
49500         * doc/misc/ses.texi (Printer functions): Add example and
49501         description about lambda expression printer function handling all
49502         the possible values, including unexpected ones.
49504 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49506         Quick temporary hack to fix curcell refreshing.
49508         The problem was caused by change: 2015-04-13 Deprecate `intangible'
49509         and `point-entered' properties. The problem is that this change has
49510         removed the (setq ses--curcell t) setting in the ses-command-hook
49511         function.
49513         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
49514         a condition to call function `ses-set-curcell'. Comment this as a quick
49515         temporary hack to make it work, as I don't know yet whether a definite
49516         correction would be to make the ses-set-curcell at every ses-check-curcell,
49517         or to revert to the previous approach, ie marking ses--curcell as out-of-date
49518         at every potentially cursor motion command.
49520 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49522         Restrictive URL checking tweaks
49524         * lisp/net/eww.el (eww): Check whether the domain is
49525         restrictive instead of the string
49526         (http://македонија.icom.museum is restrictive even if each
49527         part is from a different script).
49529 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49531         New function `puny-highly-restrictive-domain-p'
49533         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
49534         (puny-highly-restrictive-domain-p): New function.
49536 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49538         eww build fix (require puny)
49540 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49542         Transform non-restrictive domains to punycode for display
49544         * lisp/net/eww.el (eww): Check whether the domain is Highly
49545         Restrictive in the Unicode IDNA sense.
49547 2015-12-29  John Wiegley  <johnw@newartisans.com>
49549         Merge emacs-25 into master (using imerge)
49551 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
49553         Further Unicode restrictive fixups
49555         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
49556         identifier characters from table 3.
49558 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
49560         Add a new function to say whether a string is restrictive
49562         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
49564 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49566         Mention the new puny.el library
49568 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49570         IDNA-related fixes for the URL library
49572         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
49573         the Host: header.
49575         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
49576         domain names, but leave them as UTF-8, so that they can be
49577         IDNA-encoded later when contacting the host.
49579 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49581         IDNA-encode all domain names in `open-network-stream'
49583         * lisp/net/network-stream.el (open-network-stream)
49584         (network-stream-open-plain, network-stream-open-starttls):
49585         IDNA-encode all domain names, if needed.
49587 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49589         Fix puny-encoding all-non-ASCII domains
49591         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
49592         encoding case.
49594 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49596         shr link traversal fixup
49598         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
49600 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49602         Reconnect erc even on server errors
49604         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
49605         reconnect even if a server error has occurred (bug#18527).
49607 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49609         Fix punycode short circuit logic
49611         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
49613 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49615         IDNA speed up
49617         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
49619 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49621         Add IDNA domain encode/decode functions
49623         * lisp/net/puny.el (puny-decode-domain): New function.
49624         (puny-encode-domain): Ditto.
49625         (puny-decode-digit): Fix digit decoding error.
49627 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
49629         Rename idna.el to puny.el
49631         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
49632         the external idna.el library.
49634 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
49636         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
49638         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
49639         Don't use split-string with 4th arg for old Emacsen compatibility.
49641 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49643         * lisp/net/idna.el (idna-decode-string-internal): Implement
49644         decoding.
49646 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49648         Further IDNA tweaks
49650         (idna-encode-string): Make idna-encode-string safe for
49651         non-ASCII use.
49653 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49655         Clean up the code slightly
49657 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49659         Added basic idna encoding support
49661         * lisp/net/idna.el: New file.
49663 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
49665         Disconnection fixes for erc
49667         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
49668         reconnect if the user has disconnected explicitly (bug#4589).
49670 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
49672         Further erc asynch fixes
49674         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
49675         erc-server-connect to return even if the connection is not
49676         ready.  Then erc-open and erc-server-reconnect do the
49677         same. (bug#5650).
49679 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
49681         Make erc connect asynchronously
49683         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
49684         reconnect asynchronously.
49686         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
49688 2015-12-27  David Edmondson  <dme@dme.org>
49690         Proxy error in erc with multiple clients
49692         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
49693         generated when multiple IRC clients talk to a single IRC proxy
49694         (bug#19034).
49696 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
49698         Fix mml-sec build warnings
49700         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
49701         (bug#18718).
49703 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49705         (eww-setup-buffer): Restore left-to-right defaults
49707         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
49709 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
49711         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
49713 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
49715         Identify unsafe combinations of Bcc and encryption
49717         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
49718         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
49719         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
49721 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
49723         * shr.el (shr-descend): Allow using lambdas in external functions.
49725 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
49727         * admin/gitmerge.el: Tweaks that seemed necessary
49729         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
49730         (gitmerge-maybe-resume): Provide explicit empty commit message.
49732 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
49734         Use a different port for TLS erc
49736         * lisp/erc/erc.el (erc-default-port-tls): New variable
49737         (bug#19497).
49738         * lisp/erc/erc.el (erc-tls): Use it.
49740 2015-12-25  Alain Schneble  <a.s@realize.ch>
49742         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49744         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49745         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49746         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49747         information in URL-struct.
49748         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49749         path and query into nil path and query, respectively.
49750         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49751         empty path into an absolute ("/") path.
49752         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49753         fragment-only URIs. Do not just return them unchanged.
49754         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49755         reference URI should not drop the last segment.
49757 2015-12-25  Alain Schneble  <a.s@realize.ch>
49759         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49761         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49762         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49763         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49764         information in URL-struct.
49765         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49766         path and query into nil path and query, respectively.
49767         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49768         empty path into an absolute ("/") path.
49769         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49770         fragment-only URIs. Do not just return them unchanged.
49771         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49772         reference URI should not drop the last segment.
49774 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49776         Let url use default file modes when copying files
49778         * lisp/url/url-handlers.el (url-copy-file): Use default file
49779         modes when copying files (bug#11400).
49781 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
49783         Doc fix for url-http
49785         * lisp/url/url-http.el (url-http): Document better return values
49786           (bug#13187) (tiny change)
49788 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49790         * eww.el (eww-display-html): Support <button> tags (bug#20485).
49792 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49794         Made ffap-url-p a defun instead of a defsubst
49796         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
49797         since there doesn't seem to be much of a reason for it to be a
49798         defsubst (bug#18203).
49800 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49802         Add a command to view files in the browser to dired
49804         * lisp/dired.el (dired-mode-map): Add the `W' command
49805         (bug#18810).
49807 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49809         Allow http://user:pass@foo/ URLs again
49811         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
49812         user/passwords in URLs (bug#19046).
49814 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49816         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
49818 2015-12-25  Samer Masterson  <samer@samertm.com>
49820         Autoload url-insert-buffer-contents
49822         * lisp/url/url-handlers.el: Add autoload cookie so that
49823         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
49825 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49827         Allow toggling colors in eww
49829         * doc/misc/eww.texi (Basics): Mention "C".
49831         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
49833         * lisp/net/shr.el (shr-use-colors): New variable.
49834         (shr-colorize-region): Use it.
49836 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
49838         Follow meta refresh tags in eww
49840         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
49842 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49844         More eww file name coding fixes
49846         * eww.el (eww-decode-url-file-name): Use the base coding
49847         system to check for encodability.
49849 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49851         Always save eww history
49853         * eww.el (eww-setup-buffer): Always save history, even when
49854         called from outside the eww buffer (bug#19638).
49856 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49858         Default web pages to right-to-left
49860         * eww.el (eww-mode): Most web pages are left-to-right, so make
49861         that the default (bug#19801).
49863         * shr.el (shr-tag-html): Respect "dir" attributes
49864         (left-to-right, right-to-left).
49866 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49868         Make toggling checkboxes work again
49870         * eww.el (eww-update-field): Make toggling checkboxes work
49871         again (bug#21881).
49873 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49875         Don't store cookies with empty names
49877         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
49878         cookies with empty names (bug#21936).
49880 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49882         Stop rendering HTML before specdlr exhaustion
49884         Fixes: 22117
49886         * shr.el (shr-descend): Stop rendering before we run out of
49887         specpdl room (bug#22117).
49889 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49891         Use cl-reduce, not reduce.
49893 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49895         Allow several <tbody> tags in shr
49897         * shr.el (shr-table-body): New function to find the real body
49898         of a table.
49899         (shr-tag-table): Use it to render several <tbody> tags in a
49900         table (bug#22170).
49902 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49904         Make prettier unique file names in eww
49906         (eww-make-unique-file-name): Make unique file names by making
49907         files like foo(2).jpg instead of foo(1)(2).jpg.
49909 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49911         Decode hex-encoded URLs before using them as file names
49913         * eww.el (eww-decode-url-file-name): New function.
49914         (eww-download-callback): Use it to decode file names before
49915         saving them.
49917 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
49919         Add FreeBSD cert bundle
49921         * doc/misc/emacs-gnutls.texi (Help For Users): Document
49922         FreeBSD bundle.
49924         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
49926 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49928         Allow overriding shr functions from eww
49930         * eww.el (eww-display-html): Allow overriding elements in
49931         `shr-external-rendering-functions'.
49933 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49935         Ignore invalid SVG images
49937         * shr.el (shr-tag-svg): Ignore SVG images that have no width
49938         or height, because these can't be displayed by ImageMagick,
49939         anyway.
49941 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
49943         shr table rendering fix
49945         * shr.el (shr-tag-table): Allow rendering body-less tables
49946         that have headers.
49948 2015-12-22  Sam Steingold  <sds@gnu.org>
49950         clipboard should still work even if interprogram-* is disabled
49952         (clipboard-yank): When `interprogram-cut-function' is nil,
49953         bind it to `gui-selection-value' - the default value.
49954         (clipboard-kill-region, clipboard-kill-ring-save): When
49955         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
49956         the default value.
49958 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
49960         Fix bootstrap issue with dired-loaddefs
49962         * lisp/dired.el: Autoloads for secondary files loaded optionally.
49964 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49966         dired generate autoloads to non-versioned file.
49968         * lisp/dired.el: Remove autoloads.
49969         * lisp/Makefile.in: Add dired to autogenel.
49970         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
49971         * test/lisp/dired-tests.el: Add new test.
49973 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49975         eieio generate autoloads to non-versioned file.
49977         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
49978         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
49979           Remove autoloads.
49980         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
49981           lisp/emacs-lisp/eieio-opt.el: Update file local.
49982         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
49984 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49986         htmlfontify generate autoload to non-versioned file.
49988         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
49989         * lisp/hfy-cmap.el: Update file local.
49990         * lisp/htmlfontify.el: Remove autoloads, add require.
49991         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
49993 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
49995         ibuffer generate autoloads to non-versioned file.
49997         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
49998         * lisp/ibuf-ext.el: Update file local.
49999         * lisp/ibuffer.el: Remove autoloads and add a require.
50000         * test/lisp/ibuffer-tests.el: Test that autoload is working.
50002 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
50004         rmail generate autoloads to non-versioned file.
50006         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
50007         * lisp/mail/rmail.el: Remove autoloads, add require.
50008         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
50009         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
50010         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
50011         * lisp/mail/undigest.el: Update file-local.
50012         * test/lisp/mail/rmail-tests.el:
50014 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
50016         Add autoload-force target.
50018         * lisp/Makefile.in (autoload-force): New target.
50020 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
50022         ps-print generate autoloads to non versioned file.
50024         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
50025         * lisp/ps-print.el: Remove autoloads.
50026         * lisp/ps-mule.el: Update file-local.
50027         * test/lisp/ps-print-tests.el: Test autoload functionality.
50029 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
50031         reftex generate autoloads to non versioned file.
50033         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
50034         * lisp/textmodes/reftex.el: Remove autoloads.
50035         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
50036         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
50037         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
50038         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
50039         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
50040         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
50041           function.
50043 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
50045         * lisp/calculator.el (calculator-define-key): Undo last change
50047         Make map argument mandatory instead (bug#22106).
50048         (calculator-add-operators): Pass the argument that's not optional any more.
50050 2015-12-03  Glenn Morris  <rgm@gnu.org>
50052         * Makefile.in: Avoid duplication.
50054         (have-tests): New rule.
50055         (check, check-maybe): Use it.
50057 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
50059         make check unconditional, check-maybe top-level.
50061          * Makefile.in: Add check-maybe target.
50062          * test/Makefile.in: Restore unconditional behaviour to make check.
50064 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
50066         Tests now support out-of-source-build.
50068          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
50069            about current working directory.
50071 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
50073         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
50075 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
50077         Improve documentation and clean up.
50079          * test/Makefile.in: Improve documentation, use EMACS variable
50080            correctly, and clean up makefile rules.
50082 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
50084         Update file headers for name change.
50086          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
50088 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
50090         Test files renamed to new scheme.
50092          * (finalizer-tests.el): Now renamed alloc-tests.el
50093          * (zlib-tests.el): Now renamed decompress-tests.el.
50095 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
50097         Tests now depend on source files
50099          * test/Makefile.in: Include dependences from tests to source files.
50100          * test/make-test-deps.emacs-lisp: New file
50101          * .gitignore: Ignore generated make include file
50103 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
50105         * lisp/progmodes/which-func.el: Improve disabling the mode
50107         Use lexical-binding.
50108         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
50109         (which-func, which-func-format): Remove redundant :group arg.
50110         (which-func-try-to-enable): New function.
50111         (which-func-ff-hook, which-function-mode): Use it.
50112         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
50113         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
50115 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
50117         * lisp/calculator.el (calculator-define-key): Silence warning
50119         ...about unknown calculator-mode-map.
50121 2015-11-29  Eli Barzilay  <eli@barzilay.org>
50123         * lisp/calculator.el: more improvements and bugfixes.
50125         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
50126           effect anyway.)
50128         - Simplify `calculator-number-to-string' by throwing most of the work
50129           onto `number-to-string', leaving just some tweaks for decimal inputs.
50130           This leads to some minor changes, for example, pasting "1x1" in hex
50131           mode would warn that "x" is ignored and result in "11" (and it wasn't
50132           done in decimal mode), whereas now it just ignores everything from the
50133           "x" and on and result in a "1" just like in decimal input mode.  Also,
50134           overflows are left for `number-to-string' to deal with.
50136         - `calculator-paste' is very simple as a result.
50138         - Extend the simplified `calculator-paste': with a prefix argument it
50139           pastes a string as if the characters were entered.  This can be used
50140           to reduce expressions, but note that it's a simple literal operation,
50141           so precedence can be messed, a number can be paster while entering a
50142           number, spaces and newlines matter, etc.
50144         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
50145           operator.
50147         - Fix a bug in `calculator-put-value': avoid grouping in the display
50148           that is used to construct `calculator-curnum'.  This would trigger
50149           when pasting or getting a value from a register in some radix mode
50150           with a large enough value.  Another fix: make the output radix equal
50151           the input one, otherwise numbers could be converted twice.
50153 2015-11-29  Eli Barzilay  <eli@barzilay.org>
50155         * lisp/calculator.el: Re-do key bindings.
50157         Use a helper function that arranges a parent keymap that binds alternate
50158         case keys so if some letter key is unbound and it's un/shifted version
50159         is, it will get used.  This makes the global-map trickery unnecessary.
50161         Also switch to passing strings that name keys through `kbd'.
50163 2015-11-29  Eli Barzilay  <eli@barzilay.org>
50165         * lisp/calculator.el: improve radix modes
50167         Fix prompt for some input radix with decimal output (eg, "BD" instead of
50168         the incorrect "B="); also, some minor docstring tweaks for these.
50170 2015-11-29  Eli Barzilay  <eli@barzilay.org>
50172         * lisp/calculator.el: better reading of register names
50174         Use `register-read-with-preview' with a dynamically bound
50175         `register-alist' and a proper preview function to read register names.
50177 2015-11-29  Eli Barzilay  <eli@barzilay.org>
50179         * lisp/calculator.el: General improvements
50181         Use things like `when', `unless', and `push'.
50183         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
50184         non-electric mode.
50186 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
50188         Fix a problem with gfilenotify in filenotify-tests.el
50190         * test/lisp/filenotify-tests.el
50191         (file-notify--test-expected-events): Remove.
50192         (file-notify--test-cleanup): Do not set that variable.
50193         (file-notify--test-with-events): EVENTS can also be a list of lists.
50194         (file-notify-test02-events, file-notify-test04-file-validity):
50195         Adapt expected result.
50197 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
50199         * .gitignore: Adjust to changes in 'test' directory structure.
50201 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
50203         Fix test/manual/etags/Makefile
50205         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
50206         changes in 'test' directory structure.
50208 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
50210         Exclude resource dirs from search for tests.
50212         * test/Makefile.in: Test file locations are now found with find
50213           rather than using finds native functions.
50215 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
50217         Add test targets without directory names.
50219          * (test/Makefile.in): Extend test_template to add two targets for each
50220            file.
50222 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
50224         * lisp/emacs-lisp/package.el: Require url-handlers
50226 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
50228         Move elisp-mode-tests to new function names.
50230          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
50231          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
50233 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
50235         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
50237 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
50239         Merge branch 'feature/standard-test-location'
50241 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
50243         * lisp/emacs-lisp/eieio.el: Add some default implementations
50245         (standard-class): Mark it obsolete.
50246         (slot-missing): Give it a default implementation.
50247         (destructor): Simplify and mark it obsolete.
50248         (object-print): Give it a default implementation.
50249         (eieio-change-class): Rename from change-class.
50250         (change-class): Redefine as obsolete alias.
50252 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50254         Mention kqueue in NEWS
50256 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50258         Merge from scratch/kqueue
50260         bec57a4 Some final fixes in file notification before merging with master
50261         0247489 Rework file notifications, kqueue has problems with directory monitors
50262         5154781 Continie with pending events
50263         6b490c0 Improve loops in file-notify-test06-many-events
50264         c8e266f Handle more complex rename operation in kqueue
50265         5044bdf New test with a larger number of events.
50266         65ba5a9 Further fixes for kqueue.
50267         13f3508 Code cleanup of kqueue.c
50268         99aa855 Doc changes for kqueue
50269         8deebe1 Finish implementation in kqueue.c
50270         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
50271         e95b309 More work on kqueue
50272         41d9bd0 Implement directory events
50273         c571fc1 Build fixes for kqueue support.
50274         e0a68f2 Continue kqueue implementation
50275         7543d1c Work on kqueue
50276         e3354e2 Add kqueue support
50277         c6457ce Minor fix to comment indentation and typo in last commit
50278         b92307f linum-mode plays more nicely with other margin-setting extensions
50279         58e6235 * lisp/image-mode.el: Support encrypted file
50280         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
50281         47f83b6 ; ChangeLog.2 fixes
50282         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
50283         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
50284         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
50285         70f1fda ; Auto-commit of ChangeLog files.
50286         ae0653b * CONTRIBUTE: Remove information about feature freeze.
50287         9459456 Merge branch 'release-process-lowercase'
50288         9a4aa0f Document the release process
50289         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
50290         dcd5877 gitmerge: Fix git log command
50291         2ac79ae gitmerge: Try to detect cherry-picks
50292         5f7a2a9 Increment Emacs version on master branch
50293         ed2e7e2 Mention CONTRIBUTE in README
50294         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
50295         138ad3d ; Fix warnings
50296         7126e9a ; Update xref-etags-mode for the latest change
50297         246d660 Use generic dispatch for xref backends
50298         31f6e93 Support rectangular regions for more commands
50299         f103a27 Handle multiple matches on the same line; add highlighting
50300         fe973fc Replace xref-match-bounds with xref-match-length
50301         92a5010 Merge from gnulib
50302         04ac097 Spruce up ftfont.c memory allocation
50303         4c4b520 Port recent XCB changes to 64-bit ‘long int’
50304         4f0ce9c * src/undo.c (run_undoable_change): Now static.
50305         695a6f9 Remove support for ':timeout' from w32 tray notifications
50306         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
50307         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
50308         66b9f7b * src/undo.c: Small fixes for previous change
50309         2fac30e Add a few more variables to redisplay--variables
50310         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
50311         e221d32 Fix point positioning after transposing with negative arg
50312         35f5afb Fix last change in shr.el
50313         508e77b Fix last change
50314         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
50315         805a39b Remove intern calls and XXX comments from Fx_export_frames
50316         9463abf shr: don't invoke unbound function (Bug#21895)
50317         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
50318         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
50319         39dbd1c : Tests for undo-auto functionality.
50320         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
50321         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'.
50322         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
50323         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
50324         1e363a8 Enable sorting of JSON object keys when encoding
50325         9dd7da9 * test/automated/keymap-tests.el: New test file
50326         aa17de9 Speed up x_real_pos_and_offsets using XCB
50327         a838c83 Enable use of XCB for checking window manager state
50328         c7f2b6a Detect XCB and save a connection handle
50329         e1c27db Reduce some data dependencies between X calls
50330         25e32bd Use color cache for creating bitmap
50331         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
50332         055ca3a Sync with soap-client repository, version 3.0.2
50333         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
50334         952395d * lisp/obarray.el: Fix shadowed variables
50335         436d330 Avoid error in submitting a form with EWW
50336         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
50337         51d840a Rename seq-p and map-p to seqp and mapp
50338         23036ba Rename obarray-p to obarrayp
50339         20aea42 Rename obarray-foreach to obarray-map
50340         a3b2101 New file with obarray functions.
50341         9d43941 Implement tray notifications for MS-Windows
50343 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50345         Some final fixes in file notification before merging with master
50347         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
50348         (file-notify-callback): Improve check for `stopped' event.  Call
50349         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
50350         (file-notify-add-watch): In case FILE is not a directory, call the
50351         file monitor for the kqueue backend.  Otherwise, call the
50352         directory monitor for the upper directory.
50354         * src/inotify.c (inotifyevent_to_event): Extract file name from
50355         watch_object if the event doesn't provide it.
50356         (Finotify_add_watch): Add file name to watch_object.
50358         * test/automated/file-notify-tests.el (file-notify--test-timeout):
50359         Use different timeouts for different libraries.
50360         (file-notify--test-with-events): Suppress lock files.  Flush
50361         outstanding events before running the body.
50362         (file-notify-test02-events, file-notify-test04-file-validity): Do
50363         not skip cygwin tests.  Add additional test for file creation.
50364         Adapt expected result for different backends.
50365         (file-notify-test03-autorevert): Some of the tests don't work for
50366         w32notify.
50367         (file-notify-test06-many-events): Rename into both directions.
50369 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50371         Rework file notifications, kqueue has problems with directory monitors
50373         * lisp/filenotify.el (file-notify-add-watch): Call the native
50374         add-watch function on the file, not on the dir.
50376         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
50377         about already deleted entries.
50379         * test/automated/auto-revert-tests.el
50380         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
50381         since this deletes the target file first.
50383         * test/automated/file-notify-tests.el (file-notify--test-event-test):
50384         Make stronger checks.
50385         (file-notify-test01-add-watch, file-notify-test02-events)
50386         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
50387         Rewrite in order to call file monitors but directory monitors.
50388         (file-notify-test06-many-events): Ler rename work in both directions.
50390 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50392         Continie with pending events
50394         * src/kqueue.c (pending_events): Remove global variable.
50395         (kqueue_compare_dir_list): Create `write' event for not used
50396         pending events.
50397         (globals_of_kqueue): Remove initialization of pending_events.
50399 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50401         Improve loops in file-notify-test06-many-events
50403         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50404         Use `read-event' pauses for the `write-file' loops; otherwise
50405         events are lost in inotify and gfilenotify cases.
50407 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50409         Handle more complex rename operation in kqueue
50411         * src/kqueue.c (pending_events): New variable.
50412         (kqueue_compare_dir_list): Handle more complex rename operation.
50413         (globals_of_kqueue): Initialize pending_events.
50415         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50416         Adapt expected events in the `rename-file' case.
50417         (file-notify-test06-many-events-remote): Declare.
50419 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
50421         New test with a larger number of events.
50423         * test/automated/file-notify-tests.el (file-notify--test-with-events):
50424         Make timeout heuristically depend on the number of events.
50426         (file-notify-test06-many-events): Use it for new test.
50428 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50430         Further fixes for kqueue.
50432         * lisp/filenotify.el (file-notify-callback): Raise also event if
50433         directory name matches.
50434         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
50436         * src/kqueue.c (kqueue_generate_event): Use watch_object as
50437         argument instead of ident.  Remove callback argument.  Adapt
50438         callees.  Check actions whether they are monitored flags.
50440         * test/automated/file-notify-tests.el (file-notify--test-library):
50441         New defun.
50442         (file-notify-test00-availability, file-notify-test02-events)
50443         (file-notify-test04-file-validity)
50444         (file-notify-test05-dir-validity): Use it.
50445         (file-notify-test02-events, file-notify-test04-file-validity): Add
50446         `read-event' calls between different file actions, in order to
50447         give the backends a chance to rais an event.  Needed especially
50448         for kqueue.  In case of deleting a directory, there are two
50449         `deleted' events.
50451 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50453         Code cleanup of kqueue.c
50455         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
50456         (kqueue_compare_dir_list): Do not loop when calling
50457         directory_files_internal.  Remove checks for "." and "..", this is
50458         done in kqueue_directory_listing now.
50459         (Fkqueue_add_watch): Check for proper emacs_open flags.
50461 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50463         Doc changes for kqueue
50465         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
50466         Fix some glitches in the example.
50468 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50470         Finish implementation in kqueue.c
50472         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
50473         Simplify access to list.
50474         (kqueue_compare_dir_list): Simplify access to list.  Raise
50475         `delete' event if directory does not exist any longer.  Otherwise,
50476         wait until directory contents has changed.  Fix error in check.
50478 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50480         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
50482 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50484         More work on kqueue
50486         * lisp/filenotify.el (file-notify-callback): Handle also the
50487         `rename' event from kqueue.
50488         (file-notify-add-watch): Do not register an entry twice.
50490         * src/kqueue.c (kqueue_directory_listing): New function.
50491         (kqueue_generate_event): New argument FILE1.  Adapt callees.
50492         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
50494 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50496         Implement directory events
50498         * lisp/filenotify.el (file-notify-handle-event)
50499         (file-notify-callback): Remove traces.
50501         * src/kqueue.c: Include <sys/time.h>.
50502         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
50503         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
50504         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
50505         Compute initial directory listing.  Close file descriptor in case
50506         of errors.
50507         (syms_of_kqueue): Declare Qcreate.
50509 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
50511         Build fixes for kqueue support.
50513         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
50514         flag.
50516         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
50517         kqueue on *BSD.
50519 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50521         Continue kqueue implementation
50523         * lisp/filenotify.el (file-notify-handle-event)
50524         (file-notify-callback): Enable trace messages.
50526         * src/kqueue.c: Include also <sys/types.h>.
50527         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
50528         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
50529         (syms_of_kqueue): Add them.
50531 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50533         Work on kqueue
50535         * lisp/filenotify.el (file-notify--library)
50536         (file-notify-descriptors, file-notify-callback)
50537         (file-notify-add-watch, file-notify-rm-watch)
50538         (file-notify-valid-p): Add kqueue support.
50540         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
50542 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50544         Add kqueue support
50546         * configure.ac (--with-file-notification): Add kqueue.
50547         (top): Remove special test for "${HAVE_NS}" and
50548         ${with_file_notification}, this is handled inside gfilenotify
50549         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
50550         instead of library specific variables.
50552         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
50554         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
50556         * src/kqueue.c: New file.
50558         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
50560 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
50562         Some final fixes in file notification before merging with master
50564         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
50565         (file-notify-callback): Improve check for `stopped' event.  Call
50566         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
50567         (file-notify-add-watch): In case FILE is not a directory, call the
50568         file monitor for the kqueue backend.  Otherwise, call the
50569         directory monitor for the upper directory.
50571         * src/inotify.c (inotifyevent_to_event): Extract file name from
50572         watch_object if the event doesn't provide it.
50573         (Finotify_add_watch): Add file name to watch_object.
50575         * test/automated/file-notify-tests.el (file-notify--test-timeout):
50576         Use different timeouts for different libraries.
50577         (file-notify--test-with-events): Suppress lock files.  Flush
50578         outstanding events before running the body.
50579         (file-notify-test02-events, file-notify-test04-file-validity): Do
50580         not skip cygwin tests.  Add additional test for file creation.
50581         Adapt expected result for different backends.
50582         (file-notify-test03-autorevert): Some of the tests don't work for
50583         w32notify.
50584         (file-notify-test06-many-events): Rename into both directions.
50586 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50588         Update elisp-mode-tests for changed file location.
50590          * test/lisp/progmodes/elisp-mode-tests.el:
50592 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50594         Exclude manual tests from Makefile
50596          * test/Makefile.in:
50598 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50600         Move package test files to new directory.
50602          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
50603          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
50605 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50607         Restore delete Makefiles and fix .gitignore.
50609          * .gitignore: Update Makefiles to changed locations
50610          * test/lisp/progmodes/flymake-resources/Makefile,
50611            test/manual/etags/Makefile,
50612            test/manual/etags/make-src/Makefile,
50613            test/manual/indent/Makefile: Restored and moved to new location.
50615 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50617         Test infrastructure: updates after directory move
50619          * (test/Makefile.in): Support directories several levels deep.
50620          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
50621          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
50623 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
50625         Rename all test files to reflect source layout.
50627         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
50628         test directory moves.
50629         * test/file-organisation.org: New file.
50630         * test/automated/Makefile.in:
50631         * test/automated/data/decompress/foo.gz:
50632         * test/automated/data/epg/pubkey.asc:
50633         * test/automated/data/epg/seckey.asc:
50634         * test/automated/data/files-bug18141.el.gz:
50635         * test/automated/data/flymake/test.c:
50636         * test/automated/data/flymake/test.pl:
50637         * test/automated/data/package/archive-contents:
50638         * test/automated/data/package/key.pub:
50639         * test/automated/data/package/key.sec:
50640         * test/automated/data/package/multi-file-0.2.3.tar:
50641         * test/automated/data/package/multi-file-readme.txt:
50642         * test/automated/data/package/newer-versions/archive-contents:
50643         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
50644         * test/automated/data/package/newer-versions/simple-single-1.4.el:
50645         * test/automated/data/package/package-test-server.py:
50646         * test/automated/data/package/signed/archive-contents:
50647         * test/automated/data/package/signed/archive-contents.sig:
50648         * test/automated/data/package/signed/signed-bad-1.0.el:
50649         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
50650         * test/automated/data/package/signed/signed-good-1.0.el:
50651         * test/automated/data/package/signed/signed-good-1.0.el.sig:
50652         * test/automated/data/package/simple-depend-1.0.el:
50653         * test/automated/data/package/simple-single-1.3.el:
50654         * test/automated/data/package/simple-single-readme.txt:
50655         * test/automated/data/package/simple-two-depend-1.1.el:
50656         * test/automated/abbrev-tests.el:
50657         * test/automated/auto-revert-tests.el:
50658         * test/automated/calc-tests.el:
50659         * test/automated/icalendar-tests.el:
50660         * test/automated/character-fold-tests.el:
50661         * test/automated/comint-testsuite.el:
50662         * test/automated/descr-text-test.el:
50663         * test/automated/electric-tests.el:
50664         * test/automated/cl-generic-tests.el:
50665         * test/automated/cl-lib-tests.el:
50666         * test/automated/eieio-test-methodinvoke.el:
50667         * test/automated/eieio-test-persist.el:
50668         * test/automated/eieio-tests.el:
50669         * test/automated/ert-tests.el:
50670         * test/automated/ert-x-tests.el:
50671         * test/automated/generator-tests.el:
50672         * test/automated/let-alist.el:
50673         * test/automated/map-tests.el:
50674         * test/automated/advice-tests.el:
50675         * test/automated/package-test.el:
50676         * test/automated/pcase-tests.el:
50677         * test/automated/regexp-tests.el:
50678         * test/automated/seq-tests.el:
50679         * test/automated/subr-x-tests.el:
50680         * test/automated/tabulated-list-test.el:
50681         * test/automated/thunk-tests.el:
50682         * test/automated/timer-tests.el:
50683         * test/automated/epg-tests.el:
50684         * test/automated/eshell.el:
50685         * test/automated/faces-tests.el:
50686         * test/automated/file-notify-tests.el:
50687         * test/automated/auth-source-tests.el:
50688         * test/automated/gnus-tests.el:
50689         * test/automated/message-mode-tests.el:
50690         * test/automated/help-fns.el:
50691         * test/automated/imenu-test.el:
50692         * test/automated/info-xref.el:
50693         * test/automated/mule-util.el:
50694         * test/automated/isearch-tests.el:
50695         * test/automated/json-tests.el:
50696         * test/automated/bytecomp-tests.el:
50697         * test/automated/coding-tests.el:
50698         * test/automated/core-elisp-tests.el:
50699         * test/automated/decoder-tests.el:
50700         * test/automated/files.el:
50701         * test/automated/font-parse-tests.el:
50702         * test/automated/lexbind-tests.el:
50703         * test/automated/occur-tests.el:
50704         * test/automated/process-tests.el:
50705         * test/automated/syntax-tests.el:
50706         * test/automated/textprop-tests.el:
50707         * test/automated/undo-tests.el:
50708         * test/automated/man-tests.el:
50709         * test/automated/completion-tests.el:
50710         * test/automated/dbus-tests.el:
50711         * test/automated/newsticker-tests.el:
50712         * test/automated/sasl-scram-rfc-tests.el:
50713         * test/automated/tramp-tests.el:
50714         * test/automated/obarray-tests.el:
50715         * test/automated/compile-tests.el:
50716         * test/automated/elisp-mode-tests.el:
50717         * test/automated/f90.el:
50718         * test/automated/flymake-tests.el:
50719         * test/automated/python-tests.el:
50720         * test/automated/ruby-mode-tests.el:
50721         * test/automated/subword-tests.el:
50722         * test/automated/replace-tests.el:
50723         * test/automated/simple-test.el:
50724         * test/automated/sort-tests.el:
50725         * test/automated/subr-tests.el:
50726         * test/automated/reftex-tests.el:
50727         * test/automated/sgml-mode-tests.el:
50728         * test/automated/tildify-tests.el:
50729         * test/automated/thingatpt.el:
50730         * test/automated/url-future-tests.el:
50731         * test/automated/url-util-tests.el:
50732         * test/automated/add-log-tests.el:
50733         * test/automated/vc-bzr.el:
50734         * test/automated/vc-tests.el:
50735         * test/automated/xml-parse-tests.el:
50736         * test/BidiCharacterTest.txt:
50737         * test/biditest.el:
50738         * test/cedet/cedet-utests.el:
50739         * test/cedet/ede-tests.el:
50740         * test/cedet/semantic-ia-utest.el:
50741         * test/cedet/semantic-tests.el:
50742         * test/cedet/semantic-utest-c.el:
50743         * test/cedet/semantic-utest.el:
50744         * test/cedet/srecode-tests.el:
50745         * test/cedet/tests/test.c:
50746         * test/cedet/tests/test.el:
50747         * test/cedet/tests/test.make:
50748         * test/cedet/tests/testdoublens.cpp:
50749         * test/cedet/tests/testdoublens.hpp:
50750         * test/cedet/tests/testfriends.cpp:
50751         * test/cedet/tests/testjavacomp.java:
50752         * test/cedet/tests/testnsp.cpp:
50753         * test/cedet/tests/testpolymorph.cpp:
50754         * test/cedet/tests/testspp.c:
50755         * test/cedet/tests/testsppcomplete.c:
50756         * test/cedet/tests/testsppreplace.c:
50757         * test/cedet/tests/testsppreplaced.c:
50758         * test/cedet/tests/testsubclass.cpp:
50759         * test/cedet/tests/testsubclass.hh:
50760         * test/cedet/tests/testtypedefs.cpp:
50761         * test/cedet/tests/testvarnames.c:
50762         * test/etags/CTAGS.good:
50763         * test/etags/ETAGS.good_1:
50764         * test/etags/ETAGS.good_2:
50765         * test/etags/ETAGS.good_3:
50766         * test/etags/ETAGS.good_4:
50767         * test/etags/ETAGS.good_5:
50768         * test/etags/ETAGS.good_6:
50769         * test/etags/a-src/empty.zz:
50770         * test/etags/a-src/empty.zz.gz:
50771         * test/etags/ada-src/2ataspri.adb:
50772         * test/etags/ada-src/2ataspri.ads:
50773         * test/etags/ada-src/etags-test-for.ada:
50774         * test/etags/ada-src/waroquiers.ada:
50775         * test/etags/c-src/a/b/b.c:
50776         * test/etags/c-src/abbrev.c:
50777         * test/etags/c-src/c.c:
50778         * test/etags/c-src/dostorture.c:
50779         * test/etags/c-src/emacs/src/gmalloc.c:
50780         * test/etags/c-src/emacs/src/keyboard.c:
50781         * test/etags/c-src/emacs/src/lisp.h:
50782         * test/etags/c-src/emacs/src/regex.h:
50783         * test/etags/c-src/etags.c:
50784         * test/etags/c-src/exit.c:
50785         * test/etags/c-src/exit.strange_suffix:
50786         * test/etags/c-src/fail.c:
50787         * test/etags/c-src/getopt.h:
50788         * test/etags/c-src/h.h:
50789         * test/etags/c-src/machsyscalls.c:
50790         * test/etags/c-src/machsyscalls.h:
50791         * test/etags/c-src/sysdep.h:
50792         * test/etags/c-src/tab.c:
50793         * test/etags/c-src/torture.c:
50794         * test/etags/cp-src/MDiagArray2.h:
50795         * test/etags/cp-src/Range.h:
50796         * test/etags/cp-src/burton.cpp:
50797         * test/etags/cp-src/c.C:
50798         * test/etags/cp-src/clheir.cpp.gz:
50799         * test/etags/cp-src/clheir.hpp:
50800         * test/etags/cp-src/conway.cpp:
50801         * test/etags/cp-src/conway.hpp:
50802         * test/etags/cp-src/fail.C:
50803         * test/etags/cp-src/functions.cpp:
50804         * test/etags/cp-src/screen.cpp:
50805         * test/etags/cp-src/screen.hpp:
50806         * test/etags/cp-src/x.cc:
50807         * test/etags/el-src/TAGTEST.EL:
50808         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
50809         * test/etags/erl-src/gs_dialog.erl:
50810         * test/etags/f-src/entry.for:
50811         * test/etags/f-src/entry.strange.gz:
50812         * test/etags/f-src/entry.strange_suffix:
50813         * test/etags/forth-src/test-forth.fth:
50814         * test/etags/html-src/algrthms.html:
50815         * test/etags/html-src/index.shtml:
50816         * test/etags/html-src/software.html:
50817         * test/etags/html-src/softwarelibero.html:
50818         * test/etags/lua-src/allegro.lua:
50819         * test/etags/objc-src/PackInsp.h:
50820         * test/etags/objc-src/PackInsp.m:
50821         * test/etags/objc-src/Subprocess.h:
50822         * test/etags/objc-src/Subprocess.m:
50823         * test/etags/objcpp-src/SimpleCalc.H:
50824         * test/etags/objcpp-src/SimpleCalc.M:
50825         * test/etags/pas-src/common.pas:
50826         * test/etags/perl-src/htlmify-cystic:
50827         * test/etags/perl-src/kai-test.pl:
50828         * test/etags/perl-src/yagrip.pl:
50829         * test/etags/php-src/lce_functions.php:
50830         * test/etags/php-src/ptest.php:
50831         * test/etags/php-src/sendmail.php:
50832         * test/etags/prol-src/natded.prolog:
50833         * test/etags/prol-src/ordsets.prolog:
50834         * test/etags/ps-src/rfc1245.ps:
50835         * test/etags/pyt-src/server.py:
50836         * test/etags/tex-src/gzip.texi:
50837         * test/etags/tex-src/nonewline.tex:
50838         * test/etags/tex-src/testenv.tex:
50839         * test/etags/tex-src/texinfo.tex:
50840         * test/etags/y-src/atest.y:
50841         * test/etags/y-src/cccp.c:
50842         * test/etags/y-src/cccp.y:
50843         * test/etags/y-src/parse.c:
50844         * test/etags/y-src/parse.y:
50845         * test/indent/css-mode.css:
50846         * test/indent/js-indent-init-dynamic.js:
50847         * test/indent/js-indent-init-t.js:
50848         * test/indent/js-jsx.js:
50849         * test/indent/js.js:
50850         * test/indent/latex-mode.tex:
50851         * test/indent/modula2.mod:
50852         * test/indent/nxml.xml:
50853         * test/indent/octave.m:
50854         * test/indent/pascal.pas:
50855         * test/indent/perl.perl:
50856         * test/indent/prolog.prolog:
50857         * test/indent/ps-mode.ps:
50858         * test/indent/ruby.rb:
50859         * test/indent/scheme.scm:
50860         * test/indent/scss-mode.scss:
50861         * test/indent/sgml-mode-attribute.html:
50862         * test/indent/shell.rc:
50863         * test/indent/shell.sh:
50864         * test/redisplay-testsuite.el:
50865         * test/rmailmm.el:
50866         * test/automated/buffer-tests.el:
50867         * test/automated/cmds-tests.el:
50868         * test/automated/data-tests.el:
50869         * test/automated/finalizer-tests.el:
50870         * test/automated/fns-tests.el:
50871         * test/automated/inotify-test.el:
50872         * test/automated/keymap-tests.el:
50873         * test/automated/print-tests.el:
50874         * test/automated/libxml-tests.el:
50875         * test/automated/zlib-tests.el: Files Moved.
50877 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
50879         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
50881         * lisp/progmodes/verilog-mode.el
50882         (verilog-save-font-no-change-functions): Commentary and fix
50883         pre-Emacs 21 behavior.
50885 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
50887         Rework file notifications, kqueue has problems with directory monitors
50889         * lisp/filenotify.el (file-notify-add-watch): Call the native
50890         add-watch function on the file, not on the dir.
50892         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
50893         about already deleted entries.
50895         * test/automated/auto-revert-tests.el
50896         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
50897         since this deletes the target file first.
50899         * test/automated/file-notify-tests.el (file-notify--test-event-test):
50900         Make stronger checks.
50901         (file-notify-test01-add-watch, file-notify-test02-events)
50902         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
50903         Rewrite in order to call file monitors but directory monitors.
50904         (file-notify-test06-many-events): Ler rename work in both directions.
50906 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
50908         Use obarray functions from obarray.
50910         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
50911           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
50912           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
50913           delegate to obarray.el functions.
50914         * lisp/loadup.el: load obarray before abbrev
50915         * test/automated/abbrev-tests.el: new tests
50917 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50919         Continie with pending events
50921         * src/kqueue.c (pending_events): Remove global variable.
50922         (kqueue_compare_dir_list): Create `write' event for not used
50923         pending events.
50924         (globals_of_kqueue): Remove initialization of pending_events.
50926 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50928         Improve loops in file-notify-test06-many-events
50930         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50931         Use `read-event' pauses for the `write-file' loops; otherwise
50932         events are lost in inotify and gfilenotify cases.
50934 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
50936         Handle more complex rename operation in kqueue
50938         * src/kqueue.c (pending_events): New variable.
50939         (kqueue_compare_dir_list): Handle more complex rename operation.
50940         (globals_of_kqueue): Initialize pending_events.
50942         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50943         Adapt expected events in the `rename-file' case.
50944         (file-notify-test06-many-events-remote): Declare.
50946 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
50948         epa.el: Add option to replace original text
50950         * lisp/epa.el (epa-replace-original-text): New user option.
50951         (Bug#21947)
50953 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
50955         Add interactive seek command.
50957         * lisp/mpc.el (mpc-cmd-seekcur): New function.
50958         (mpc-seek-current): New command.
50959         (mpc-mode-menu): Add entry for mpc-seek-current
50960         (mpc-mode-map): Bind mpc-seek-current to "g"
50962 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
50964         Fix issue where a new tempfile was created every refresh
50966         * lisp/mpc.el (mpc-format): Leave dir as relative path
50968 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
50970         New test with a larger number of events.
50972         * test/automated/file-notify-tests.el (file-notify--test-with-events):
50973         Make timeout heuristically depend on the number of events.
50975         (file-notify-test06-many-events): Use it for new test.
50977 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50979         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
50981         (c-save-buffer-state): Use with-silent-modifications when available.
50982         (c--macroexpand-all): Check macroexpand-all directly rather than
50983         c--mapcan-status.
50985 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50987         * lisp/loadup.el: Set max-lisp-eval-depth here
50989         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
50990         (BYTE_COMPILE_FLAGS): Adjust accordingly.
50992 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
50994         Further fixes for kqueue.
50996         * lisp/filenotify.el (file-notify-callback): Raise also event if
50997         directory name matches.
50998         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
51000         * src/kqueue.c (kqueue_generate_event): Use watch_object as
51001         argument instead of ident.  Remove callback argument.  Adapt
51002         callees.  Check actions whether they are monitored flags.
51004         * test/automated/file-notify-tests.el (file-notify--test-library):
51005         New defun.
51006         (file-notify-test00-availability, file-notify-test02-events)
51007         (file-notify-test04-file-validity)
51008         (file-notify-test05-dir-validity): Use it.
51009         (file-notify-test02-events, file-notify-test04-file-validity): Add
51010         `read-event' calls between different file actions, in order to
51011         give the backends a chance to rais an event.  Needed especially
51012         for kqueue.  In case of deleting a directory, there are two
51013         `deleted' events.
51015 2015-11-17  João Távora  <joaotavora@gmail.com>
51017         Minor fix to comment indentation and typo in last commit
51019         * lisp/linum.el (linum-update-window): Fix comment indentation and
51020         a typo.
51022 2015-11-17  João Távora  <joaotavora@gmail.com>
51024         linum-mode plays more nicely with other margin-setting extensions
51026         linum.el will only modify the left margin if it needs to, and will
51027         only reset the it back to 0 if it guesses that no-one has touched that
51028         margin in the meantime.
51030         As such, this is a more of a workaround than an actual fix, but fixes
51031         the problems described in bug#20674 regarding the interaction with
51032         modes such as darkroom-mode and olivetti-mode.
51034         A similar fix was commited to nlinum.el in ELPA.git's
51035         e7f5f549fbfb740b911fb7f33b42381ecece56d8
51037         * lisp/linum.el (linum-delete-overlays): Restore margins more
51038         criteriously.
51039         (linum-update-window): Set margins more criteriously.
51041 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
51043         Code cleanup of kqueue.c
51045         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
51046         (kqueue_compare_dir_list): Do not loop when calling
51047         directory_files_internal.  Remove checks for "." and "..", this is
51048         done in kqueue_directory_listing now.
51049         (Fkqueue_add_watch): Check for proper emacs_open flags.
51051 2015-11-16  Daiki Ueno  <ueno@gnu.org>
51053         * lisp/image-mode.el: Support encrypted file
51055         (image-toggle-display-image): Read content from the buffer instead
51056         of the file, if the buffer holds a decrypted data.  (Bug#21870)
51058 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
51060         Doc changes for kqueue
51062         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
51063         Fix some glitches in the example.
51065 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
51067         Finish implementation in kqueue.c
51069         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
51070         Simplify access to list.
51071         (kqueue_compare_dir_list): Simplify access to list.  Raise
51072         `delete' event if directory does not exist any longer.  Otherwise,
51073         wait until directory contents has changed.  Fix error in check.
51075 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
51077         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
51079 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
51081         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
51083 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
51085         * lisp/emacs-lisp/package.el: Fix a decoding issue
51087         (package--with-response-buffer): Use `url-insert-buffer-contents'.
51088         The previous code had some issues with decoding. Refactoring that
51089         function allows us to use the decoding from url-handlers while still
51090         treating both sync and async requests the same.
51092         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
51093         `url-insert-buffer-contents'.
51094         (url-insert-buffer-contents): New function
51096 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
51098         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
51100         (package--with-work-buffer-async): Reimplement as
51101         `package--with-response-buffer'.
51102         (package--with-work-buffer): Mark obsolete.
51103         (package--with-response-buffer): New macro. This is a more self
51104         contained and less contrived version of
51105         `package--with-work-buffer-async'.  It uses keyword arguments,
51106         doesn't have async on the name, doesn't fallback on
51107         `package--with-work-buffer', and has _much_ simpler error
51108         handling.
51110         (package--check-signature, package--download-one-archive)
51111         (package-install-from-archive, describe-package-1): Use it.
51113         (package--download-and-read-archives): Let
51114         `package--download-one-archive' take care of calling
51115         `package--update-downloads-in-progress'.
51117 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
51119         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
51121         (verilog-save-buffer-state): Use with-silent-modifications when available.
51122         (verilog-save-font-no-change-functions): Don't bind
51123         before/after-change-functions if it's not needed.
51125 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
51127         More work on kqueue
51129         * lisp/filenotify.el (file-notify-callback): Handle also the
51130         `rename' event from kqueue.
51131         (file-notify-add-watch): Do not register an entry twice.
51133         * src/kqueue.c (kqueue_directory_listing): New function.
51134         (kqueue_generate_event): New argument FILE1.  Adapt callees.
51135         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
51137 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
51139         * CONTRIBUTE: Remove information about feature freeze.
51141         Merge branch 'release-process-lowercase'
51143 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
51145         Document the release process
51147         * admin/notes/versioning: Add information about RC releases.
51148         * admin/release-process: Document the release process.
51149         * admin/authors.el (authors-ignored-files):
51150         * admin/README: Change FOR-RELEASE to release-process.
51151         * CONTRIBUTE:
51152         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
51154 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
51156         * admin/release-process: Rename from admin/FOR-RELEASE.
51158 2015-11-14  David Engster  <deng@randomsample.de>
51160         gitmerge: Fix git log command
51162         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
51163         only want commits from the branch that is to be merged.
51164         (gitmerge-setup-log-buffer): Use the same symmetric range as in
51165         `gitmerge-missing'.
51167 2015-11-14  David Engster  <deng@randomsample.de>
51169         gitmerge: Try to detect cherry-picks
51171         * admin/gitmerge.el (gitmerge-default-branch): Change to
51172         origin/emacs-25.
51173         (gitmerge-missing): Use symmetric difference ('...') between
51174         branch and master so that cherry-picks can be detected.
51176 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
51178         Implement directory events
51180         * lisp/filenotify.el (file-notify-handle-event)
51181         (file-notify-callback): Remove traces.
51183         * src/kqueue.c: Include <sys/time.h>.
51184         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
51185         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
51186         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
51187         Compute initial directory listing.  Close file descriptor in case
51188         of errors.
51189         (syms_of_kqueue): Declare Qcreate.
51191 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
51193         Increment Emacs version on master branch
51195         * lisp/cus-edit.el (customize-changed-options-previous-release):
51196         Increase previous version to 24.5.
51198         * configure.ac:
51199         * msdos/sed2v2.inp: Bump version to 25.1.50.
51201 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
51203         Mention CONTRIBUTE in README
51205         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
51206         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
51207         * README: Mention CONTRIBUTE.
51209 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
51211         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
51213         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
51214         (verilog-modi-cache-results, verilog-save-buffer-state)
51215         (verilog-save-font-no-change-functions): When internally suppressing change
51216         functions, use `inhibit-modification-hooks' and call
51217         `after-change-funtions' to more nicely work with user hooks.  Reported by
51218         Stefan Monnier.
51220         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
51221         Create `verilog-delete-auto-buffer' to avoid double-calling
51222         fontification hooks.
51224         (verilog-restore-buffer-modified-p, verilog-auto)
51225         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
51226         set-buffer-modified-p. Reported by Stefan Monnier.
51228         (verilog-diff-auto, verilog-diff-buffers-p)
51229         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
51231         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
51232         AUTOINST with unpacked dimensional parameters, bug981. Reported by
51233         by Amol Nagapurkar.
51235         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
51236         properties inside internal structures. No functional change
51237         intended.
51239 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
51241         Build fixes for kqueue support.
51243         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
51244         flag.
51246         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
51247         kqueue on *BSD.
51249 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
51251         Continue kqueue implementation
51253         * lisp/filenotify.el (file-notify-handle-event)
51254         (file-notify-callback): Enable trace messages.
51256         * src/kqueue.c: Include also <sys/types.h>.
51257         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
51258         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
51259         (syms_of_kqueue): Add them.
51261 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
51263         Work on kqueue
51265         * lisp/filenotify.el (file-notify--library)
51266         (file-notify-descriptors, file-notify-callback)
51267         (file-notify-add-watch, file-notify-rm-watch)
51268         (file-notify-valid-p): Add kqueue support.
51270         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
51272 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
51274         Add kqueue support
51276         * configure.ac (--with-file-notification): Add kqueue.
51277         (top): Remove special test for "${HAVE_NS}" and
51278         ${with_file_notification}, this is handled inside gfilenotify
51279         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
51280         instead of library specific variables.
51282         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
51284         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
51286         * src/kqueue.c: New file.
51288         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
51290 This file records repository revisions from
51291 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
51292 commit e8a7c41b4e2dc9df18038d2931ed883946a2bb50 (inclusive).
51293 See ChangeLog.1 for earlier changes.
51295 ;; Local Variables:
51296 ;; coding: utf-8
51297 ;; End:
51299   Copyright (C) 2015-2017 Free Software Foundation, Inc.
51301   This file is part of GNU Emacs.
51303   GNU Emacs is free software: you can redistribute it and/or modify
51304   it under the terms of the GNU General Public License as published by
51305   the Free Software Foundation, either version 3 of the License, or
51306   (at your option) any later version.
51308   GNU Emacs is distributed in the hope that it will be useful,
51309   but WITHOUT ANY WARRANTY; without even the implied warranty of
51310   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
51311   GNU General Public License for more details.
51313   You should have received a copy of the GNU General Public License
51314   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.